java中怎么设置一个session在整个web中的时间

2024-12-20 15:04:35
推荐回答(4个)
回答1:

java中设置session存在整个web的时间方法如下:
(1)在主页面或者公共页面中加入:session.setMaxInactiveInterval(900);
参数900单位是秒,即在没有活动15分钟后,session将失效。
这里要注意这个session设置的时间是根据服务器来计算的,而不是客户端。所以如果是在调试程序,应该是修改服务器端时间来测试,而不是客户端。
(2)也是比较通用的设置session失效时间的方法,就是在项目的web.xml中设置
Xml代码
[xhtml] view plaincopy

15

这里的15也就是15分钟失效.
(3)直接在应用服务器中设置,如果是tomcat,可以在tomcat目录下conf/web.xml中
找到元素,tomcat默认设置是30分钟,只要修改这个值就可以了。

回答2:

1.在 [项目名]/WEB-INF/web.xml 配置文件中添加如下内容(单位为分钟,只针对该项目起作用)

60


2.[tomcat_home]/conf/web.xml 中的 修改配置(此配置数全局的,表明该tomcat下所有的应用session的过期时间)

60(此处修改为自己想要的)

注:第一个方法优先级高于第二个,有一项配置了 第二项就不起作用了。

回答3:

两种方式,一种是在代码中

public class MyHttpSessionListener implements HttpSessionListener{
  public void sessionCreated(HttpSessionEvent event){
    event.getSession().setMaxInactiveInterval(15*60); //in seconds
  }
  public void sessionDestroyed(HttpSessionEvent event){}
}

...
  
    com.example.MyHttpSessionListener
  

一种是在配置文件中:  


...
  
    15 
  

回答4:

120