很大的疑惑,在 WEB开发中应该如何管理Hibernate 的 Session 呢? 用filter来实现try{打开}finally{关闭} 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 tiandiqing(天地情缘) 你好,你说用这一种方式的话我也想过.但我没觉得有什么好处.在你这里filter 用于截获什么东西.是所有涉及操作后台DAO的Servlet.还是 /* 所有的组建都截获.如果这样做的话我觉得和在一个Dao 的方法中得到新Session 方法操作完之后close好像没什么差别.因为其实在一个Servlet 中可能大部分只操作一个Dao的方法.那么你在访问这一个Servlet之前在Filter进行监听启动Session. Servlet操作完毕response 之前回到filter 进行关闭.这样的话不是没什么差别吗?我现在改进了一下利用的是HttpSessionListener.在HttpSession 新创建的时候得到一个新的Session,把他放进HttpSession 的属性中进行保存.在操作数据库的时候通过Servlet得到Session对Dao的方法进行参数的传递如 public void addStudent(Student stu,Session session) 这样来实现.最后在客户离开网站.在HttpSession destroy 的时候关闭Session.大家说这样做好吗?我觉得这样做可以最大限度的利用了Session 的缓存. 用filter可以实现将用户的一次请求中所有的持久化操作放在一个事务中处理 夏昕的HIBERNATE开发指南里有着方面的内容自己去看 怎么在eclipse中新建j2ee的项目中 myeclipse中的content assist 怎样从svn上下载web项目 怎么样把double类型的字符串转化为整形 JPanel怎么实现模式对话框 如何在归定的时间内让所有的session消毁 hibernate连DB2的问题。。。 程序中如何读取服务器中的一些配置文件信息 1000人同时在线的B2C商城服务器配置以及架构问题。 springboot定时任务部署线上会重复执行两次 struts 文件上传 时行时不行 Resin中怎样发布Web Service时出错
在你这里filter 用于截获什么东西.是所有涉及操作后台DAO的Servlet.还是 /* 所有的组建都截获.如果这样做的话我觉得和在一个Dao 的方法中得到新Session 方法操作完之后close好像没什么差别.因为其实在一个Servlet 中可能大部分只操作一个Dao的方法.那么你在访问这一个Servlet之前在Filter进行监听启动Session. Servlet操作完毕response 之前回到filter 进行关闭.这样的话不是没什么差别吗?
我现在改进了一下利用的是HttpSessionListener.在HttpSession 新创建的时候得到一个新的Session,把他放进HttpSession 的属性中进行保存.在操作数据库的时候通过Servlet得到Session对Dao的方法进行参数的传递
如 public void addStudent(Student stu,Session session) 这样来实现.
最后在客户离开网站.在HttpSession destroy 的时候关闭Session.
大家说这样做好吗?我觉得这样做可以最大限度的利用了Session 的缓存.