测试之路,与你同行!

会话跟踪-Servlet学习笔记六

上一篇 / 下一篇  2012-02-26 20:57:34 / 个人分类:Servlet

上篇说到,HTTP协议是无状态协议,因此,要跟踪用户的状态非常困难,常用的对用户信息的跟踪就是购物网站的“购物车”跟踪。通过cookie我们可以实现这个功能,将信息保存到客户端,在需要的地方取出来,但这个功能有一些缺陷,比如用户选择了比较多的产品,就需要产生多个cookie来保存;因为cookie只能保存String类型的数据,而我们可能有时候需要保存对象,这就无法通过cookie来实现了。所以采用一种基于cookie的技术,session(会话)技术。它的基本思想是,给每个客户端分配一个不重复的ID,而将实际需要保存的数据放在服务器内存中,因为每个客户端cookie中只需要保存一个ID,而将实际需要保存的数据放在服务器内存中,因为不需要写到客户端文本,所以在服务器中可以存放任何的对象而不单纯是String数组。
    用户可能关闭浏览器的cookie功能,这样基于cookie的session技术就不能使用了。但是Sun做出了另外一种替代,就是URL重写,简单而言,就是将本来保存在Cookie中的用于标识不同客户端的session ID放在URL后面,如:http://some-site.com/servlet/shop.CartServlet;jessionid=1234567890,这样即使用户关闭了浏览器的cookie功能,session还是能正常使用。一般支持J2EE的WEB服务器会自动根据情况在cookie和URL重写之间进行切换,不需要我们干预。

TAG:

 

评分:0

我来说两句

Open Toolbar