Session的超时时间设置,避免占用系统过多资源
Session的超时时间设置,避免其他用户使用一些违规操作,
a用户未关闭窗口,b用户在a登入的情况操作等
方案一:针对具体的请求设置超时时间;
在Servlet代码中,使用HttpSession对象的方法setMaxInactiveInterVal(int)设置一个会话维持非活动状态的最大秒数
public void doGet(HttpServletRequest req,HttpServletResponse res) throws
ServletException,IOException {
HttpSession session=req.getSession();
session.setMaxInactiveInterval(60);
}
方案二:web.xml配置全局的session
通过标志session-timeout可以定义所有非活动HttpSession对象存在的最大时间。
<session-config>
<session-timeout>60</session-timeout>
</session-config>
总结:建议使用第二种,
以上两种方法都可以解决问题,
1:第一种方法是将超时值用于特定的servlet,针对每一个Session进行单独设置,
2:而第二种方法是应用于整个web应用程序,所有的Session都遵循这个共同的超时时间,根据不同的需要来选用这两种方法。
3:如果同时使用了这两种方法对同一个Session设置了两个超时时间,那么将以较小的那个时间为准。