会话超时设置方法有两种:
一、在web.xml 中:
<session-config>
<session-timeout>x</session-timeout><!--x为分钟-->
<session-config>
二、程序中:
HttpSession session=new HttpSession ();
session.setmaxinactiveinternal(int t); //t为秒
以上两种方法都可以解决问题,第一种方法是将超时值用于特定的servlet,针对每一个Session进行单独设置,而第二种方法是应用于整个web应用程序,所有的Session都遵循这个共同的超时时间,根据不同的需要来选用这两种方法。如果同时使用了这两种方法对同一个Session设置了两个超时时间,那么将以较小的那个时间为准。
HTTP Session 会话超时判断方法:
request.getSeesion(boolean)这个方法里面传了一个boolean值,这个值如果是true,那么如果当前的request的session不可用,那么就创建新的会话,如果存在就返回当前的会话。如果参数是false,那么在request的当前会话不存在的时候就返回null,我们就可以“近似地”认为session不存在就是session过期了。方法如下:
if(request.getSession(false)==null)
System.out.println("Session has been invalidated!");
else
System.out.println("Session is active!");