为单个Web应用 配置超时时间可以在web.xml中使用<session-config>元素,如
<web-app>
<!–filter.listener,servlet,and servlet- mapping等元素要在session-config之前–> <session-config> <session-timeout>15 </session-timeout> </session-config> …
</web-app>
这个时候的“15”单位是分钟!
如果在配置Servlet是指定初始化参数决定超时时间,例如下:
<servlet> <servlet-name>Example</servlet-name> <servlet-class>exa.mp.le.Example2</servlet-class> <init-param> <param-name>timeout</param-name> <param-value>600</param-value> </init-param> … </servlet>
这时候的“600”单位是秒钟!
另外,我们要注意HttpSession.getMaxInactiveInterval()方法返回的是与秒为单位的;
session.setMaxInactiveInterval(int seconds)方法参数的单位也是秒。
----------------------------------add 2016-12-13----------------------------------------
今天在实现session超时,页面提示自动退出,重新登录。 我修改了web.xml ,weblogic.xml 发现如何设置,session的时间都没有变化。 最后发现在登录之后,就被session就被设置了60*60 ,所以导致我的 web.xml ,weblogic.xml 的配置都没有作用, 三者之间的权限级别 session.setMaxInactiveInterval > web.xml > weblogic.xml (或者其他服务器配置) 如果发现web.xml 修改session配置没有起到作用,那么请全局搜索setMaxInactiveInterval ,看看是不是哪里设置了session的超时时间。