日期:2014-05-19  浏览次数:20617 次

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

------解决方案--------------------
tomcat对session的管理你可以参考参考
------解决方案--------------------
session 超时服务器会自动将其销毁 这样可以节省缓存空间

每个用户在访问服务器的时候 ,服务器都会产生一个sessionid关联当前的session 所以request.getSession获取的是当前用户下的session
------解决方案--------------------
在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时间为准 


------解决方案--------------------
我没看过源码 
但是我猜应该是清除sessionid的值,然后把申请的对应的session对象至为空,然后等垃圾回收机制回收

request.getSesssion()返回的当然是这个服务器端为你这个客户端(sessionId决定)的session对象啊
------解决方案--------------------
1、invalidate()可以销毁session
2、HttpSession自然是接口,request.getSesssion()返回的是对象,HttpSession类型的对象。当然看request是谁的request,谁的request自然返回谁的session。
3.jar文件,是没有源码的,要看需要反编译。如果有源码,可以加进来,右键工程,属性-java build path-source-link source