java中怎么设置一个session在整个web中的时间
发布网友
发布时间:2022-05-06 17:27
我来回答
共4个回答
热心网友
时间:2023-09-18 14:05
java中设置session存在整个web的时间方法如下:
(1)在主页面或者公共页面中加入:session.setMaxInactiveInterval(900);
参数900单位是秒,即在没有活动15分钟后,session将失效。
这里要注意这个session设置的时间是根据服务器来计算的,而不是客户端。所以如果是在调试程序,应该是修改服务器端时间来测试,而不是客户端。
(2)也是比较通用的设置session失效时间的方法,就是在项目的web.xml中设置
Xml代码
[xhtml] view plaincopy
<session-config>
<session-timeout>15</session-timeout>
</session-config>
这里的15也就是15分钟失效.
(3)直接在应用服务器中设置,如果是tomcat,可以在tomcat目录下conf/web.xml中
找到<session-config>元素,tomcat默认设置是30分钟,只要修改这个值就可以了。
热心网友
时间:2023-09-18 14:06
1.在 [项目名]/WEB-INF/web.xml 配置文件中添加如下内容(单位为分钟,只针对该项目起作用)
<session-config>
<session-timeout>60</session-timeout>
</session-config>
2.[tomcat_home]/conf/web.xml 中的 修改配置(此配置数全局的,表明该tomcat下所有的应用session的过期时间)
<session-config>
<session-timeout>60(此处修改为自己想要的)</session-timeout>
</session-config>
注:第一个方法优先级高于第二个,有一项配置了 第二项就不起作用了。
热心网友
时间:2023-09-18 14:06
两种方式,一种是在代码中
public class MyHttpSessionListener implements HttpSessionListener{
public void sessionCreated(HttpSessionEvent event){
event.getSession().setMaxInactiveInterval(15*60); //in seconds
}
public void sessionDestroyed(HttpSessionEvent event){}
}
<webapp>
...
<listeners>
<listener-class>com.example.MyHttpSessionListener</listener-class>
</listeners>
</webapp>
一种是在配置文件中:
<webapp>
...
<session-config>
<session-timeout>15</session-timeout> <!-- in minutes -->
</session-config>
</webapp>
热心网友
时间:2023-09-18 14:07
<!-- session超时定义,单位为分钟 --> <session-config> <session-timeout>120</session-timeout> </session-config>