HttpSession对象很有用,但它们耗用的内存也委多, 因此当你不在需要用到某个HttpSession对象的时候,你应该尽早调用它的invalidate方法来销毁它。在这里大部分网站会向用户入境问俗一个用来退出登录的链接,但可惜的是点击这个链接的用户没有几个,大部分用户会直接关闭浏览器。等待HttpSession对象自然死亡意味着放任它们继续占用你宝贵的内存。下面说说在struts应用程序中如何销毁不再使用的HttpSession对象的方法:
在默认情况下,如果系统里还没有与当前用户相对应的HttpSession对象,STRUTS应用程序的任何一个动作调用都能为该用户创建出一个HttpSession对象来——即使是在系统还没有对任何一个类进行过实例化的情况下(比如说, 在某个表单输入验证失败的时候)也是如此。这是因为 STRUTS需要把用户的地区信息保存到HttpSession对象里。换句话说,如果有个动作将把控制权转交给某个JSP页面,就处你在这个JSP页面里使用了< %@ page session="false"%>指令也来不及一个新的HttpSession对象被创建 出来。
那么我们只有调用这个HttpSession对象的invalidate方法并STRUTS再创建一个新的HttpSession实例!
我们在一个invalidateSession动作类里可以有如下做法:


