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

 我来答
小傻

推荐于2020-12-07 · 知道合伙人软件行家
小傻
知道合伙人软件行家
采纳数:11567 获赞数:31133
已经做过两个上架的app和两个网页项目.

向TA提问 私信TA
展开全部
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分钟,只要修改这个值就可以了。
yzyaiweier
2014-01-09 · TA获得超过347个赞
知道小有建树答主
回答量:185
采纳率:100%
帮助的人:91.8万
展开全部
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>
注:第一个方法优先级高于第二个,有一项配置了 第二项就不起作用了。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
每天学点Java
2014-01-09 · TA获得超过5938个赞
知道大有可为答主
回答量:3547
采纳率:0%
帮助的人:1322万
展开全部

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

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>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-01-09
展开全部
<!-- session超时定义,单位为分钟 --> <session-config> <session-timeout>120</session-timeout> </session-config>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式