论坛首页 Java企业应用论坛

本人对session的愚见

浏览 13003 次
精华帖 (0) :: 良好帖 (3) :: 新手帖 (5) :: 隐藏帖 (16)
作者 正文
   发表时间:2010-12-05   最后修改:2010-12-06

1。session是让客户端和服务端保持状态的一种方法。

2。服务端接收到用户的请求,先根据sessionID判断是否有该用户的session,有就从缓存中获取该用户session,否则创建一个session对象,并把sessionID保存到用户的cookies里。

3。如果保存sessionID的cookies过期或者服务端中的session被销毁,会新建一个session到服务端缓存中,当然sessionID也不会相同。

4。session是保存在服务端中。sessionID通常是保存在客户端的cookies中,如关闭cookies,可使用url重写(在url里加上sessionID)的方法发送sessionID给服务端。

5。sessionID默认是关闭浏览器后无效。

6。session的销毁由服务端控制,当session超过服务端设置的超时时间才会销毁。即使用户关掉浏览器,session也不会马上销毁,可在服务端设置session的超时时间。

7。J2EE中的session是指javax.servlet.http.HttpSession,这是一个接口,是由web服务器tomcat,resin等实现。

   发表时间:2010-12-05  
这题目取的。。。session和j2ee有关系么。。。。。
0 请登录后投票
   发表时间:2010-12-05  
楼上介绍的果然是个好去处,受教了
0 请登录后投票
   发表时间:2010-12-06  
fangtianying 写道
楼主理解完全不对,有篇文章叫做 Sessoin详解,以前bea征文时郎云鹏写的,建议系统的看看。

http://leeldy.blog.163.com/blog/static/139853062009013105945194/

这个博客很好!值得一看!
0 请登录后投票
   发表时间:2010-12-06  
fangtianying 写道
楼主理解完全不对,有篇文章叫做 Sessoin详解,以前bea征文时郎云鹏写的,建议系统的看看。

http://leeldy.blog.163.com/blog/static/139853062009013105945194/


完全不对么?

我到觉得楼主没说错什么
0 请登录后投票
   发表时间:2010-12-06  
差不多理解就可以.
1 一般来说session第一次访问就产生了
2 浏览器关闭就没了
3 后台有超时时间
4 其他了解了对写代码没帮助.
0 请登录后投票
   发表时间:2010-12-06  
JE牛人太多,楼主又被鄙视!默哀。所以最好还是别乱发帖,小心没讨好,还得了新手帖和隐藏贴!
0 请登录后投票
   发表时间:2010-12-06  
准确说楼主说的是HttpSession, 个人认为J2EE中的Session主要指Session Bean 包括stateful session Bean and  stateless session Bean,最好换个标题
0 请登录后投票
   发表时间:2010-12-06  
之所以说LZ没理解清楚,是因为LZ在解释HttpSession的时候,甚至没有使用"状态保持"或者类似的文字.
我不是教条主义,也不是在说什么标准化答案.只是对一个问题的理解,你总是会发现,它总有一个很关键的概念,所以的东西都是从这个概念引申或自然推导出来的.
所谓Cookie,HttpSession 出现的本质原因就是"http连接是无状态的".而当一个web站点企图提供流程服务或者说希望了解一些上下文信息时,就会希望去在http连接中去识别或标记用户.
这样就意味着,我们会通过一些约定去扩展http的语义.
如往Head里加Cookie,通过在Cookie中或者url 重写加上sessionID来在服务端中建立起一个http连接与业务上下文关系的关联.
0 请登录后投票
   发表时间:2010-12-06  
j2ee 的session好像有两种实现
1, 如果客户端允许cookies,就把jsessionid保存在mem cookies中
2, 如果不允许cookies,就把jsessionid添加在uri里。

不知道对不对?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics