如何在Struts应用程序中实现注销

时间:2009-11-12 05:25:17

标签: java-ee struts logout

我的J2EE应用程序没有正确实现注销,我的目的是在用户注销后关闭所有数据库资源。不确定session.invalidate();真的会有所帮助,今天我会试试。请建议实施注销的最佳方法,以便在用户注销后释放所有有价值的资源。

2 个答案:

答案 0 :(得分:1)

  

我打算在用户注销后关闭所有数据库资源

这已经是一种不良做法的迹象。 DB资源应该在尽可能短的范围内(即在同一个方法块内)获取。您可能永远不会将数据库资源(ConnectionStatement和/或ResultSet)作为静态或实例变量。这是收到资源泄漏和更严重的麻烦。

如果最初的目的是提高连接性能,则需要引入连接池。请记住,这不是保持连接打开自己的借口。只需以相同的方式尽快获取并关闭它们,连接池实现本身就会担心实际关闭连接或将其释放回池中。这一切都完全透明。体面的应用程序服务器附带了JNDI数据源的连接池功能。利用它。完成后,您无需担心任何开放的数据库资源或性能。

答案 1 :(得分:0)

请按

进行
  1. 使用连接和其他数据库类删除数据库资源。
  2. 使用会话对象清除会话。
  3. 检查您在应用程序中创建的cookie并删除所需的cookie。