请问JavaEE中当Session超时之后,服务器如何处理?
比如调用什么方法,是直接将这个Session删除(销毁)还是只是设置一个标识符?
还有在MyEclipse中如何关联查看javaee.jar中类的源码?
还有就是HttpSession是接口,那么request.getSesssion()得到的Session的具体实现是哪个对象呢?
问的有点多,对Session有点模糊,谢谢回答啊

解决方案 »

  1.   

    tomcat对session的管理你可以参考参考
      

  2.   

    session 超时服务器会自动将其销毁 这样可以节省缓存空间每个用户在访问服务器的时候 ,服务器都会产生一个sessionid关联当前的session 所以request.getSession获取的是当前用户下的session
      

  3.   

    在web。xml里边配置<session-config>      
        <session-timeout>session超时时间</session-timeout>//单位为分钟       
    </session-config>   为单个Servlet指定会话超时时间 xml 代码 
    <servlet>   
    <servlet-name>Servlet名称</servlet-name>   
    <servlet-class>Servlet类路径</servlet-class>   
    <init-param>   
    <param-name>timeout</param-name>   
    <param-value>600</param-value>   
    </init-param>   
    </servlet>   当Servlet与默认时间不同且大于-2时,以Servlet时间为准 
      

  4.   

    我问的是Session访问超时后服务器如何处理?是调用HttpSession的invalidate()方法还是其他什么?
    谢谢啊
      

  5.   

    我没看过源码 
    但是我猜应该是清除sessionid的值,然后把申请的对应的session对象至为空,然后等垃圾回收机制回收request.getSesssion()返回的当然是这个服务器端为你这个客户端(sessionId决定)的session对象啊
      

  6.   

    1、invalidate()可以销毁session
    2、HttpSession自然是接口,request.getSesssion()返回的是对象,HttpSession类型的对象。当然看request是谁的request,谁的request自然返回谁的session。
    3.jar文件,是没有源码的,要看需要反编译。如果有源码,可以加进来,右键工程,属性-java build path-source-link source
      

  7.   

    谢谢大家,这个问题我看了Tomcat的源码,大致了解了点!
    总之谢谢了!