精华内容
下载资源
问答
  • Session失效三种方法

    千次阅读 2013-02-19 16:48:04
    本文介绍了三种设置SESSION失效的方法,希望对你有帮助。  Session对象是HttpSessionState的一个实例。该类为当前用户会话提供信息,还提供对可用于存储信息会话范围的缓存的访问,以及控制如何管理会话的方法。...
    [quote]
    
    我们设置SESSION失效的时间,是为了确保在用户长时间不与服务器交互的情况下,可以自动退出登录。本文介绍了三种设置SESSION失效的方法,希望对你有帮助。
       Session对象是HttpSessionState的一个实例。该类为当前用户会话提供信息,还提供对可用于存储信息会话范围的缓存的访问,以及控制如何管理会话的方法。下面介绍设置session失效的几种方法。

      在系统登录后,都会设置一个当前session失效的时间,以确保在用户长时间不与服务器交互,自动退出登录,销毁session。

      具体设置很简单,方法有三种:


       (1)在主页面或者公共页面中加入:session.setMaxInactiveInterval(900);参数900单位是秒,即在没有活动15分钟后,session将失效。

      这里要注意这个session设置的时间是根据服务器来计算的,而不是客户端。所以如果是在调试程序,应该是修改服务器端时间来测试,而不是客户端。

      (2)也是比较通用的设置session失效时间的方法,就是在项目的web.xml中设置

      <!-- 设置session失效,单位分 -->

      <session-config>
    <session-timeout>1</session-timeout>
    </session-config>

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

      需要注意的是如果上述三个地方如果都设置了,有个优先级的问题,从高到低:(1)>(2)>(3)
       在一般系统中,也可能需要在session失效后做一些操作,

      (1)控制用户数,当session失效后,系统的用户数减少一个等,控制用户数在一定范围内,确保系统的性能。

      (2)控制一个用户多次登录,当session有效时,如果相同用户登录,就提示已经登录了,当session失效后,就可以不用提示,直接登录了。

      那么如何在session失效后,进行一系列的操作呢?

      这里就需要用到监听器了,即当session因为各种原因失效后,监听器就可以监听到,然后执行监听器中定义好的程序就可以了。

      监听器类为:HttpSessionListener类,有sessionCreated和sessionDestroyed两个方法
       自己可以继承这个类,然后分别实现。
       sessionCreated指在session创建时执行的方法
       sessionDestroyed指在session失效时执行的方法


    给一个简单的例子:
      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
    }
    }
    }

    然后只需要把这个监听器在web.xml中声明就可以了

      <listener>
    <listener-class>com.demo.SessionListener</listener-class>
    </listener>


    [/quote]
    展开全文
  • session失效

    2017-06-09 16:03:19
    session失效时间
  • 绍设置Session失效的几方法
  • session失效三种方法

    千次阅读 2011-06-28 09:57:35
    A. 程序级别设置:session.setMaxInactiveInterval(600);参数600单位是秒,这个session设置的时间是根据服务器来计算的,而...-- 设置session失效,单位分 --&gt; &lt;session-config&gt; &lt;s...

    A.  程序级别设置:session.setMaxInactiveInterval(600);参数600单位是秒,这个session设置的时间是根据服务器来计算的,而不是客户端。

     

    B. 比较通用的设置session失效时间的方法,就是在项目的web.xml中设置。
    <!-- 设置session失效,单位分 -->
    <session-config> 
        <session-timeout>2</session-timeout>

    </session-config>

     

    C. 直接在应用服务器中设置,如果是tomcat,可以在tomcat目录下conf/web.xml中找到<session-config>元素,tomcat默认设置是30分钟,只要修改这个值就可以了。

     

    需要注意的是如果上述三个地方如果都设置了,有个优先级的问题,从高到低: A > B > C

     

    二。

    Java对象、简单类型的数组均是传址的,简单类型(含string)都是传值的。

     

    展开全文
  • JavaEE设置session失效时间的三种方式以及注意事项1、通过web容器配置2、通过项目中的web.xml中配置3、通过java代码动态配置4、优先级5、验证:通过监听器观察session失效时间 当用户登陆系统后,服务器会设置一个...


    当用户登陆系统后,服务器会设置一个当前session失效的时间,以确保在用户长时间不与服务器交互,自动销毁session,退出登录,释放资源。

    1、通过web容器配置

    在web容器中设置,以Tomcat-9.0.16为例,在安装目录conf\web.xml文件中找到session-config元素,以下是默认配置:
    在这里插入图片描述
    tomcat默认session超时时间为30分钟,可以根据需要修改,负数或0为永不失效。

    需要注意这里时间单位为分钟,参数必须为整数。

    由于在服务器中设置,则session设置的时间是根据服务器来计算的,而不是客户端。所以如果是在调试程序,应该是修改服务器端时间来测试,而不是客户端。

    2、通过项目中的web.xml中配置

    在项目的web.xml中配置,以Eclipse for JavaEE为例,在WebContent\WEB-INF\lib文件夹下打开web.xml(如没有则手动创建)
    在这里插入图片描述
    在这里插入图片描述
    同样,时间单位为分钟,这里表示session在创建后10分钟后失效

    3、通过java代码动态配置

    session.setMaxInactiveInterval(10) ; //设置非活跃间隔时间
    

    setMaxInactiveInterval(int second)不同于以上两种方法,并且有几个注意点:

    (1)时间单位为秒

    (2)此方法表示当前session在指定时间内若没有与服务器发生任何交互后失效

    (3)期间用户的任何活动都将刷新session的失效时间,例如在10秒内用户刷新页面将重新计算失效时间

    4、优先级

    如果上述三种方法都设置了,那么优先级按照从高到低:代码设置 > 项目web.xml设置 > 容器web.xml设置(3>2>1)

    以上代码使用JDK1.8,Eclipse for javaee编译器,Tomcat服务器运行成功,如有错误或描述不当请多多指出。

    觉得有用就点个赞呗~

    展开全文
  • 设置session失效时间的三种方式

    千次阅读 2015-05-12 10:04:50
    一、 web app server中,如websphere里可以设置超时时间为30分钟  二、在web.xml中的session-config配置   session-timeout元素用来指定默认的会话超时时间间隔,以分钟...如,设置session失效时间为30分钟: 
     一、 web app server中,如websphere里可以设置超时时间为30分钟 
    

    二、在web.xml中的session-config配置 
          session-timeout元素用来指定默认的会话超时时间间隔,以分钟为单位。该元素值必须为整数。如果 session-timeout元素的值为零或负数,则表示会话将永远不会超时。如,设置session失效时间为30分钟: 

       1. <session-config> 
       2.       <session-timeout>30</session-timeout> 
       3. </session-config> 

    三、 在程序中调用session的setMaxInactiveInterval方法设置

       代码如下:session.setMaxInactiveInterval(30 * 60);  

         setMaxInactiveInterval设置的是当前会话的失效时间,不是整个web的时间,单位为以秒计算。如果设置的值为零或负数,则表示会话将永远不会超时。常用于设置当前会话时间。 

    展开全文
  • session失效上搜索

    2009-12-08 11:18:44
    session失效session失效session失效session失效session失效session失效session失效session失效session失效session失效session失效session失效session失效session失效session失效
  • 设置session失效时间的三种方法

    万次阅读 2015-04-25 14:35:38
    session-timeout(web.xml)元素与session.setMaxInactiveInterval()函数 a) web app server中,如websphere里可以设置超时时间为30分钟 b)在web.xml中的session-config配置 session-timeout元素(WEB.XML文件中的...
  • 三种设置session失效时间
  • session失效时间

    千次阅读 2018-05-08 07:02:25
    如果把 session的失效时间设为 20分钟 这个20分钟是指 从用户登陆开始创建一个 ...设置session失效时间的三种方法session-timeout(web.xml)元素与session.setMaxInactiveInterval()函数A) web app server中,如websp...
  • 设置session失效的几方法

    千次阅读 2017-02-07 11:05:00
    设置session失效的几方法 在系统登录后,都会设置一个当前session失效的时间,以确保在用户长时间不与服务器交互,自动退出登录,销毁session。 具体设置很简单,方法有三种: (1)在主页面或者公共页面中...
  • session失效的设置方法可以分为两大类四小:(1) 中间件(以Tomcat为例) 1.1. tomcat/conf/web.xml(推荐) 1.2. tomcat/conf/server.xml (2)webapp(程序本身) 2.1. WEB-INF/web.xml(推荐) 2.2. Java...
  • 主要介绍了Java中设置session超时(失效)的三种方法,本文讲解了在web容器中设置、在工程的web.xml中设置、通过java代码设置3方法,需要的朋友可以参考下
  • session失效的几方式

    千次阅读 2016-07-25 08:30:48
    在系统登录后,都会设置一个当前session失效的时间,以确保在用户长时间不与服务器交互,自动退出登录,销毁session。 具体设置很简单,方法有三种: (1)在主页面或者公共页面中加入:session....
  • session失效问题

    千次阅读 2019-04-09 10:18:39
    一个单体应用,启动两个服务,在同一个浏览器访问,登录上一个A服务后,再登录B服务,会导致A的session失效 分析 两个相同服务,彼此应该是没有影响的,但产生了影响,且不同浏览器就没有影响 源码 在一个登录...
  • session 失效的3方法

    千次阅读 2014-12-19 12:33:53
     session 失效的3方法   (1)在主页面或者公共页面中加入:session.setMaxInactiveInterval(600);参数600单位是秒,即在没有10分钟活动后,session失效。  这里要注意这个session设置的时间是...
  • 本文由脚本之家小编跟大家分享的ajax请求Session失效问题,感兴趣的朋友一起看看吧
  • 让servlet session失效的几方法

    千次阅读 2016-11-28 18:49:45
    说到session失效时间就让我想起了它的生命周期,到时候想着总结一下 说在session失效时间也是我在项目中写filter时遇到的。主要用来登录是否超时。 那么让session到时间失效有几方式呢? 1.在主页面或者公共...
  • .net mvc中,Session失效需要考虑几种情况: •基于权限认证的Action,使用非Ajax请求; •基于权限认证的Action,使用JQueryt Ajax请求; •基于权限认证的Action,使用.net mvc封装的Ajax请求; •无权限认证的...
  • Laravel session失效的一原因

    千次阅读 2018-09-05 21:11:19
    session文件有某些情况下写入文件系统失败时不会报错 请检查/storage/framework/sessions 目录是否生成了session文件 或者在写入session之后添加session()-&amp;gt;save() session([''user_id'=&amp;gt...
  • 主要介绍了JavaWeb Session失效时间设置方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
  • ext中session失效,页面跳转到登陆页的实现

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 124,903
精华内容 49,961
关键字:

session失效的三种情况