前言
一个女人让他的程序员丈夫去商店买东西:你去附近的商店买些鸡蛋,如果有香蕉的话,买8个回来,这个丈夫买了8个鸡蛋回来,他的妻子大吃一惊:你为什么买了8个鸡蛋?! 程序员丈夫回答:因为他们有香蕉。
内容
我们知道在session写入的时候,在服务端会为session开辟一块内存,用于存放session内容。然后response一个sessionID出来,客户端向服务端发送sessionID的时候有两种方式,存放在cookie里面或者进行rewriten URL。那么如果我们把浏览器禁掉cookie,就不能通过通过获取cookie里面的sessionID来达到获取session内容这种方式了。下面通过这个demo来说明是怎样通过URL重写实现访问服务端session的。
Demo
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession(true);
response.getWriter().println("<a href='"+ response.encodeURL(request.getRequestURI().toString()) + "'>UrlRewrite</a>");
}
小结
这个没有成功实现,但也是一种方法,在IE里面禁用了cookie,真是不知道为什么还是能够访问到,可能试了若干次不知为什么。
感谢您的宝贵时间···