`
tianhandigeng
  • 浏览: 368982 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

关于Cookie和Session的一个让很多人忽略的问题

阅读更多

    cookie和session是由联系的,sessoin起作用通常是在cookie的基础上的。通常,会话管理是通过服务器将 Session ID 作为一个 cookie 存储在用户的 Web 浏览器中来唯一标识每个用户会话,jsp中session会往客户的cookie中存放一个session id,然后访问是会将客户端的session id和服务器端的session id对照,看是否一致,如果不一致,服务器就会将这个session失效。如果浏览器不支持 cookies,或者将浏览器设置为不接受 cookies,我们可以通过 URL 重写来实现会话管理。

  实质上 URL 重写是通过向 URL 连接添加参数,并把 session ID 作为值包含在连接中。然而,为使这生效,你需要为你的 servlet 响应部分的每个连接添加 session ID 。

 

      所以在web程序中,你一定要考虑到用户禁用浏览器cookie的情况,我想不用到session的web程序很少,但是用户又禁掉了cookie,那怎么办呢?这时候用URL重写的方法来实现session的功能。

 

      有的人肯定也会说,我也没看到我机子中生成cookie啊,对于这个问题你就要知道cookie的两种种类了,一种是会话cookie,这种cookie没有设定存活时间,是存在于浏览器中的;另外一种就是我们通过response.addCookie()的方式发送到客户端机器上的cookie,这种cookie通常都是设置存活最大时间了的,所以我们通常使用的就是会话cookie。

 

     关于用URL重写的方法,我会在以后写出来,同时各位朋友也可以帮我补充一下。

 

 

分享到:
评论
2 楼 freej 2010-12-24  
这个问题确实是讨厌的,LZ想办法自己实现用户会话机制吧。
1 楼 genggeng 2010-12-23  
?jsessionId=xxxxxx

相关推荐

Global site tag (gtag.js) - Google Analytics