java web.xml设置session过期时间为15分钟,超时却不会过期

468 篇文章 0 订阅
346 篇文章 0 订阅


java web.xml设置session过期时间为15分钟,超时却不会过期

2013-05-15 12:24 岁月杀猪刀888 | 浏览 10721 次 悬赏:5
<context-param>
<param-name>sessionMaxInterval</param-name>
<param-value>1200</param-value>
</context-param>
采用监听方式
15分钟以上都不会过期,如果把过搜索期时间改为15分钟以下,却可以过期,请问大神,有没有遇到过,是什么情况,服务器为tomcat


2013-05-15 12:46 网友采纳
你可以试试这么做

web.xml
<listener>     
      <listener-class>     
             com.listener.SessionListener      
       </listener-class>     
</listener>
<session-config>
  <session-timeout>1</session-timeout>
 </session-config>

java
public class SessionListener implements HttpSessionListener{      

       public void sessionCreated(HttpSessionEvent event) {      
       HttpSession ses = event.getSession();      
       String id=ses.getId()+ses.getCreationTime();      
       SummerConstant.UserMap.put(id, Boolean.TRUE);     //添加用户      
}      

  public void sessionDestroyed(HttpSessionEvent event) {      
      HttpSession ses = event.getSession();      
      String id=ses.getId()+ses.getCreationTime();      
      synchronized (this) {      
                     SummerConstant.USERNUM--;   //用户数减一      
                     SummerConstant.UserMap.remove(id); //从用户组中移除掉,用户组为一个map      
              }      
       }      
}
追问:
我采用的是session.setMaxInactiveInterval(1200);的方式,不行,把时间改小一点是可以的,这是为什么呢
我采用的是session.setMaxInactiveInterval(1200);的方式,不行,把时间改小一点是可以的,这是为什么呢
评论 | 给力7 不给力3


为您推荐:

align="center,center" class="BAIDU_SS_HHIFRAME" src="http://entry.baidu.com/rp/home?di=u2115503&rsi0=450&rsi1=25&type=pageembed&version=1&titff=sans-serif%2Ctahoma%2C%22MicrosoftYaHei%22&titfs=14&rss2=%232d64b3&rss3=%232d64b3&title=java%20web.xml%E8%AE%BE%E7%BD%AEsession%E8%BF%87%E6%9C%9F%E6%97%B6%E9%97%B4%E4%B8%BA15%E5%88%86%E9%92%9F%EF%BC%8C%E8%B6%85%E6%97%B6%E5%8D%B4%E4%B8%8D%E4%BC%9A%E8%BF%87%E6%9C%9F_%E7%99%BE%E5%BA%A6%E7%9F%A5%E9%81%93&ltu=http%3A%2F%2Fzhidao.baidu.com%2Flink%3Furl%3Dw4ipcavoOXdHZSbMvfLEqyaSSvVzNPwqA6IwvaTrPnMYtoQuRKcdf3-WdBZVPHLBxW2f5riz8lETyW5QcYIxz_&ref=http%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3Dw4ipcavoOXdHZSbMvfLEqyaSSvVzNPwqA6IwvaTrPnMYtoQuRKcdf3-WdBZVPHLBxW2f5riz8lETyW5QcYIxz_%26wd%3D%26eqid%3D9ba12625000dd73100000005570465bb&pageWidth=1265&pageHeight=621&t=1459905995852&iframeWidth=1265&iframeHeight=621" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="width: 450px; height: 25px; background-color: transparent;" allowtransparency="true">
按默认排序 | 按时间排序

其他1条回答

2013-05-15 12:43 热心网友
1. 在server.xml中定义context时采用如下定义:
<Contextpath="/livsorder"docBase="/home/httpd/html/livsorder"
defaultSessionTimeOut="3600"isWARExpanded="true"
isWARValidated="false"isInvokerEnabled="true"
isWorkDirPersistent="false"/>

2. 在web.xml中通过参数指定:
<session-config>
<session-timeout>30</session-timeout>
</session-config>
其中30表示30分钟

3. 在程序中通过servlet api直接修改
HttpSession ses = request.getSession();
ses.setMaxInactiveInterval(10);
设置单位为秒,设置为-1永不过期。
追问:
我是采用的第三种方式,为什么不行呢?
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值