论坛首页 Java企业应用论坛

robbin的HttpSession总结

浏览 28017 次
该帖已经被评为精华帖
作者 正文
   发表时间:2004-02-23  
375 写道

session的保存的确有这样的方式,不过觉得用处不大,而且本人也不太喜欢IBM的东西。


当session对你的系统来说“非常非常重要“的时候,自己管理session虽然复杂,但最有效

当然,前提是要有能力把它管好
0 请登录后投票
   发表时间:2004-03-10  
楼主能不能给出resin重启动appserver部分的代码,

偶想借鉴一下。

多谢了。
0 请登录后投票
   发表时间:2004-05-21  
补充一下,WebSphere 5.x里边,如果session中的对象没有实现序列化,在cluster环境中,如果某session所在的机器当掉,在其他的cluster成员上是无法完全恢复此session的。
0 请登录后投票
   发表时间:2004-05-21  
关于“session对象实现序列化接口”,bruce找到问题所在,不过结论刚好相反,就是放置到httpsession的对象的确需要实现序列化接口。

在weblogic server的情况可以看http://edocs.bea.com/wls/docs81/webapp/sessions.html#session-persistence,在需要session persistence时,里面明确提到“When your applications stores data in an HTTP session object, the data must be serializable.
”。

session persistence的目的不是为了保存到硬盘(我想这种需求很少),更多是为了在服务器之间同步httpsession已达到failover的特性。

另外在Weblogic Server中还有一个功能,就是重新部署WebApp仍能够保持Httpsession,这种情况下也是要求放入httpsession的对象必须实现序列化接口。
0 请登录后投票
   发表时间:2004-05-25  
serialization对于分布式的用处就是可以使object能够在JVM之间移动.
而且Java的Serialization有不少限制,不如Collection,和Reference等等.
0 请登录后投票
   发表时间:2004-06-03  
对Session清晰了很多。
还有一个问题:Server是怎么知道Client的Session的,也就是说,sessionId是不是也返回到客户端?还是通过什么方式? 这样我联想起来ThreadLocal,Server怎么知道这个Client的Thread的?
0 请登录后投票
   发表时间:2004-06-04  
darrenlee 写道
对Session清晰了很多。
还有一个问题:Server是怎么知道Client的Session的,也就是说,sessionId是不是也返回到客户端?还是通过什么方式? 这样我联想起来ThreadLocal,Server怎么知道这个Client的Thread的?


这只不过是HTTP header 的东西。

最常见的就是存放于Cookie

其次就是URL querystring (Tomcat会这么处理,其他的不清楚)

下面举个登录的例子:

1)client -> post data (without sessionid) -> server
2)server 验证通过,启用session,生成sessionid
3)server -> response (with sessionid) -> client
4)client ( keep the sessionid )
接下来的client都将持有这个sessionid,直到如下情况发生:

1)服务器再次发送一个新的sessionid/或者清空
2)client关闭
0 请登录后投票
   发表时间:2004-06-05  
在weblogic 8.1下,把一个没有实现序列化接口的对象放入session,会有一个warning,所以weblogic应该是会在某个时候钝化session的。

而且很多app server都可以配置成在shutdown后自己重启的,包括weblogic

而且很多app server都不使用cookie机制来实现session,而是使用url重写,特别是安全要求比较高,而且session携带的数据量不大的时候。可以避免恶意猜测sessionID
0 请登录后投票
论坛首页 Java企业应用版

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