Session通过URL重写

来源:互联网 发布:手机号码绑定的软件 编辑:程序博客网 时间:2024/05/19 01:08

要知道Session是通过Cookie来实现的,如果cookie被浏览器禁用,Session可以通过URL重写的方式来实现


要实现URL地址重写则需要借助sessionid来实现,Session是保存在服务器中,而sessionid则是保存在cookie中,也就是客户端中。如果cookie被禁用,如果浏览器禁掉了cookie,那么sessionId就存放不了了,所以重写session url,就是将id放在地址栏上。


实现方式:

String url = response.encodeURL("跳转页面");

然后把url链接到另一个页面


这是一个保险措施 因为Session默认是需要Cookie支持的,但有些客户浏览器是关闭Cookie的【而jsessionid是存储在Cookie中的,

如果禁用Cookie的话,也就是说服务器那边得不到jsessionid,这样也就没法根据jsessionid获得对应的session了,获得不了session就

得不到session中存储的数据了。】这个时候就需要在URL中指定服务器上的session标识,也

就是类似于“jsessionid=5F4771183629C9834F8382E23BE13C4C” 这种格式。用一个方法(忘了方法的名字)处理URL串就可以得到

这个东西,这个方法会判断你的浏览器是否开启了Cookie,如果他认为应该加他就会加上去。


//String sessionid = session.getId();

//Cookie cookie = new Cookie("JSESSIONID", sessionid);