`

设置session过期或超时时间

    博客分类:
  • Java
阅读更多

设置session的过期或超时时间,有三个地方:
a、tomcat的web.xml中,该单位为分:

<session-config>
   <session-timeout>720</session-timeout>
</session-config>

 
b、项目的web.xml中,该单位为分:

<session-config>
  <session-timeout>720</session-timeout>
</session-config>

 
c、用代码设置session的最大有效值:

//单位为秒
public static Integer SessionMaxInactiveInterval=720*60;//session有效时间 :12小时
javax.servlet.http.HttpSessionEvent.getSession().setMaxInactiveInterval(SessionMaxInactiveInterval);

 
以上三个的优先级:c>b>a

 

其他一些有用的说明:

1、Session超时理解为:服务器创建了 一个Session给客户端的浏览器,浏览器每次访问的时候带着这个session与服务器进行交互,保证两者数据的一一对应。由于客户端长时间(休眠时间)没有与服务器交互,服务器将此Session销毁,客户端再一次与服务器交互时之前的Session就 不存在了。

 

2、若访问服务器session超时(本次访问与上次访问时间间隔大于session最大的不活动的间隔时间)了,即上次会话结束,但服务器与客户端会产生一个新的会话,之前的session里的属性值全部丢失,产生新的sesssionId。


 3.客户端与服务器一次有效会话(session没有超时),每次访问sessionId相同,若代码中设置了session.setMaxInactiveInterval()值,那么这个session的最大不活动间隔时间将被修改,并被应用为新值。


 4.Session的销毁(代表会话周期的结束):在某个请求周期内调用了Session.invalidate()方法,此请求周期结束后,session被销毁;或者是session超时后自动销毁。客户端关闭浏览器时session并不会被注销,只是那个session不能再用了——即客户关闭浏览器之后,服务器端并不知道,但是与浏览器进行交互的session在服务器那里还是存在的,就是没有客户端与它进行交互自然也就不会再用不能用了。因为用户打开浏览器进行访问时服务器会重新产生一个新的session给浏览器,以前的那个session只能等待过期被服务器自动注销。


 5. 对于JSP,如果指定了<%@ page session="false"%>,则在JSP中无法直接访问内置的session变量,同时也不会主动创建session,因为此时JSP未自 动执行request.getSession()操作获取session。

分享到:
评论

相关推荐

    weblogic设置session超时时间

    上面的代码将 Session 超时时间设置为 54 分钟。 需要注意的是,`&lt;session-timeout&gt;` 元素的值以分钟为单位。如果将其设置为 `-2`,则将使用在 `weblogic.xml` 文件中设置的 `TimeoutSecs` 属性值。如果将其设置为 ...

    设定tomcat中session过期时间.txt

    - 上述示例中的`defaultSessionTimeout="3600"`表示将Session的超时时间设置为3600分钟(即60小时)。 - 需要注意的是,在`server.xml`文件中进行配置修改后,需要重启Tomcat服务以使更改生效。 #### 二、通过`web....

    .net 和IIS7.5关于Session超时的设置

    以下是如何设置Session过期时间的方法: ```xml &lt;sessionState mode="InProc" timeout="60"/&gt; ``` 这里的`timeout`属性定义了Session保持活跃状态的分钟数。在这个例子中,Session将在60分钟后自动过期。请...

    J简单的springmvc包括拦截、session设置,超时跳转

    可以通过`session.setMaxInactiveInterval(int interval)`设置超时时间,单位为秒。 **超时跳转(Session Timeout Redirect)** 当Session超时时,通常需要将用户重定向到登录页面,提示他们重新登录。这可以通过...

    session过期时间设置

    设置Session过期时间的方法有多种: 1. **编程方式**: 通过Java代码设置Session的过期时间,例如在主页面或公共页面中加入以下代码: ```java HttpSession ses = request.getSession(); ses....

    JS之Session超时提示代码

    3. **超时提示与倒计时**:当接近或到达设定时间阈值时,弹出提示框并显示剩余时间,直至Session过期。 #### 三、代码详解 ##### 1. 变量声明与初始化 ```javascript var timeIndex = 0; var divtime = "&lt;div&gt;...

    java设置session过期时间的实现方法

    这段代码将当前Session的超时时间设置为20分钟。这种方法只对调用了`setMaxInactiveInterval()`方法的Session生效。如果用户在20分钟后没有发送新的请求,服务器同样会销毁这个Session。 3. **在程序中动态定义...

    IIS 7.5 asp Session超时时间设置方法

    有时候在web.config设置sessionState 或者类文件里设置Session.Timeout,在IIS里访问时每次都是达不到时间就超时,原因是因为...在站点根目录文件web.config中设置Session过期时间方法: &lt;sessionState mode="InPro

    asp中设置session过期时间方法总结

    如果程序中没有设置session的过期时间,那么session过期时间就会按照IIS设置的过期时间来执行,IIS中session默认过期时间为20分钟,IIS中session时间可以更改 时间设置要放在前面 例如 代码如下: Session.Timeout=30...

    session过期问题

    然而,Session不能永久保存,为了防止恶意用户长时间占用服务器资源,通常会设置Session过期策略。 **Session过期的实现方式** 1. **设置Session超时时间**:在服务器端,可以通过配置Web服务器或应用服务器的...

    php中精确控制session超时时间

    总结来说,要严格控制PHP中的session过期时间,需要综合考虑客户端cookie的生命周期、服务器端的垃圾回收机制以及代码层面的session检查。理解这些机制可以帮助开发者更好地管理和维护用户的会话状态,提供更加安全...

    登录超时完整实例、session超时设置、JSP页面会话超时

    本教程将深入探讨"登录超时完整实例",包括如何进行`session超时设置`以及在`JSP页面`中处理会话超时的问题。 首先,我们需要理解什么是登录超时。登录超时是指用户在一定时间内未进行任何操作,系统自动判断该用户...

    JSPsession超时提示

    然而,为了提高安全性以及减轻服务器负担,通常会为 session 设置一个超时时间(默认情况下通常是 30 分钟)。当用户在指定时间内没有任何活动时,session 将被自动销毁。本篇文章将详细介绍如何实现一个自定义的 ...

    Java中设置session超时(失效)的三种方法

    如果设置为负数或0,表示Session不会因时间超时而失效,除非显式地调用`invalidate()`方法。 示例配置: ```xml &lt;!-- session超时时间,单位为分钟 --&gt; &lt;session-config&gt; &lt;session-timeout&gt;60&lt;/session-time...

    phpcms web发布session过期问题解决

    【标题】:“phpcms web发布session过期问题解决” 在Web开发中,Session是服务器用于跟踪用户状态的重要机制。PHP CMS(内容管理系统)基于PHP语言,可能会遇到用户session过期导致用户频繁登录的问题,这对于用户...

    项目访问时间过长session过期提醒

    "项目访问时间过长session过期提醒"这个话题涉及到的是如何配置Web应用程序,以便在用户的会话过期时自动跳转到特定的过期页面,提醒用户重新登录。下面我们将详细讲解实现这一功能的关键步骤和技术。 首先,我们...

    用django设置session过期时间的方法解析

    session的超时时间设置 settings中 SESSION_COOKIE_AGE=60*30 30分钟。 SESSION_EXPIRE_AT_BROWSER_CLOSE False:会话cookie可以在用户浏览器中保持有效期。True:关闭浏览器,则Cookie失效。 SESSION_COOKIE_...

    Java设置session超时的几种方式总结

    例如,若希望将session的超时时间设置为30分钟(单位为秒),则可以这样编写代码: ```java session.setMaxInactiveInterval(30 * 60); ``` 这种方法提供了灵活性,可以在程序运行时动态地根据业务逻辑和用户行为来...

Global site tag (gtag.js) - Google Analytics