jsp 如何设置session时间

来源:百度知道 编辑:UC知道 时间:2024/05/14 08:31:32
现在做一个程序,用户登陆以后系统获取用户名,放在session中,以后点击不同页面时要调用,但发现系统不用一段时间,session会失效,就会弹出空指针异常,怎样设置session的时间,或者怎样在错误发生时提示用户session已过期

(1)在主页面或者公共页面中加入:
HttpSession session=request.getSession(true);

session.setMaxInactiveInterval(900);
参数900单位是秒,即在没有活动15分钟后,session将失效。
这里要注意这个session设置的时间是根据服务器来计算的,而不是客户端。所以如果是在调试程序,应该是修改服务器端时间来测试,而不是客户端。
(2)也是比较通用的设置session失效时间的方法,就是在项目的web.xml中设置
<session-config>
<session-timeout>15</session-timeout>
</session-config>
这里的15也就是15分钟失效.
(3)直接在应用服务器中设置,如果是tomcat,可以在tomcat目录下conf/web.xml中
找到<session-config>元素,tomcat默认设置是30分钟,只要修改这个值就可以了。
需要注意的是如果上述三个地方如果都设置了,有个优先级的问题,从高到低。

1.在web.xml中设置
<session-config>
<session-timeout>5</session-timeout> //分
</session-config>
2.在创建session时直接设置
session.setMaxInactiveInterval(300);//秒
再接着判断,如果session为空,则给用户提示