关于J2EE容器的Session管理的讨论
最近在做一个项目其中有一项是对Session的管理,现在有点困惑,就是不太清楚J2EE容器自己是如何管理Session的,比如如何creat,keep, destroy session,还有在JAVA code中可以直接使用HttpRequest.getSession()来创建或者获得当前active session,但我同样不是很了解具体是如何创建或者获得当前Session的,是通过保存在request中cookies里的JSESSIONID来识别当前request属于哪个Session的?请大家参与讨论,容器就拿JBoss做例子好了,谢谢

解决方案 »

  1.   

    请求中会附带SESSIONID,根据SESSIONID去获得对应的session。
      

  2.   

    session是服务器对不同用户所采取的一种方式,它在服务器中开辟一个区域,用于保存用户的信息,不同用户的区域是不同的,也不能相互访问。这个session由服务器去维护,不用程序员操心。它可以保存用户特定的信息,程序员可以修改,删除它,每个session都有一个唯一的sessionid,它们被存储在一个Map中,sessionid就是键。session创建之后,客户端的浏览器会自动记住这个sessionid,以后的每次请求服务器都会比对这个sessionid,这样服务器就知道你是who了。