当前位置: 首页 > 知识库问答 >
问题:

在GWT应用程序的servlet端管理hibernate会话

全丰
2023-03-14

我在GWT应用程序中使用hibernate,其中我有一个单独的客户机/服务/业务/dao层。

服务/业务层使用dao层获取/更新用于请求处理的模型。问题是,我遵循DOA类方法中打开/关闭hibernate会话的反模式。

一般的Hibernate指南似乎建议,我们应该有一个请求范围的会话。这可以在几个地方完成,比如servlet过滤器或服务层。我们可以打开会话并将其注入到DAO层,并在完成请求之前在服务层关闭它。

我想知道是否有人有任何工作代码/示例来说明处理此问题的任何标准方法。

谢谢你的帮助。

共有1个答案

洪飞驰
2023-03-14

所有GWT请求也都使用servlet机制,您可以在web中使用它。xml。您可以创建自己的CustomRequestFactoryServlet,该servlet将从GWT标准servlet进行扩展,并将会话注入到您的(公共基类服务)中,并清理会话关闭。

    <servlet>
    <servlet-name>requestFactory</servlet-name>
    <servlet-class>nsa.snowden.CustomRequestFactoryServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>requestFactory</servlet-name>
    <url-pattern>/gwtRequest</url-pattern>
</servlet-mapping>
 类似资料:
  • 问题内容: 您如何在Java Desktop Swing应用程序中进行Hibernate会话管理?您是否使用一个会话?多个会议? 以下是有关此主题的一些参考资料: http://www.hibernate.org/333.html http://blog.schauderhaft.de/2008/09/28/hibernate-sessions-in-two-tier-rich-client-ap

  • 问题内容: 我目前正在开发我的一个(相当大的)宠物项目,这是一个Swing应用程序,它本质上需要多线程。几乎所有用户交互都可能通过Internet从某些远程服务器获取数据,因为我既不能控制这些服务器,也不能控制Internet本身,因此不可避免的是需要较长的响应时间。EDT忙时,Swing UI显然无法重绘自身,因此所有远程服务器调用都需要由后台线程执行。 我的问题: 后台线程获取的数据被本地(内

  • 问题内容: 我正在研究GWT-ext应用程序。在此应用程序中,我管理了客户端会话。为此,我编写以下代码: 管理会话:import com.google.gwt.user.client.Timer; 获取用户活动: 这段代码可以正常工作,但是我的问题是:随着时间的推移,该代码将自动注销。对于我的代码,我希望单击或按下它即可注销。情况如下:如果用户登录并且注销时间为5分钟,则根据上述代码,用户现在没有

  • Windows NT Option Pack 提供了在 Web 服务器上的 ASP 应用程序管理服务。例如,Internet 服务管理器为应用程序开发人员提供了一个使用简便的管理工具来设置应用程序的属性。另外,Active Server Pages 提供了允许用户的应用程序存储全局数据的脚本功能。本主题简要介绍部分应用程序管理功能,并提供到详细信息的链接。 启动和结束应用程序 当 Web 服务器第

  • 我有一个Android应用程序,我可以在其中向一个servlet发送多部分post。但我要把电话限制在每5分钟一次。有了web表单,我就可以使用cookie了。对于android应用程序,它不是这样工作的。我怎么才能让它工作呢?

  • 问题内容: 我正在构建一个系统,其中来自客户端的每个请求都会在服务器端生成多个线程。然后,每个线程都使用一个或多个DAO(某些DAO可以同时被多个线程使用)。Spring 将所有DAO注入()到我的线程类中。每个DAO也接受注射。 什么是在这些多个DAO之间管理Hibernate会话的正确方法,这样我就不会因多线程环境而遇到问题(例如,来自不同线程的几个DAO试图同时使用同一会话)? 我在Hibe