JSP的会话跟踪技术

来源:互联网 发布:淘宝天猫组织架构 编辑:程序博客网 时间:2024/05/17 07:21
会话跟踪是指服务器端用来保存客户端用户信息的一种技术,有以下四种实现方式:1.Cookie.   Cookie是一种文本文件,一般保持在C:/../Cookies目录下,可以持续保存, 用户可以在Internet选项->隐私设置是否阻止cookie.2.URL重写   在浏览器禁用或不支持Cookie的情况下,可以url重写的方法来代替.URL重写就是利用GET方法,在URL尾部添加额外参数的方法来达到会话跟踪的目的。此种方法的缺点是:必须对所有指向您的网站的URL进行编码;所有页面必须动态生成;不能使用预先记录下来的URL进行访问,或者从其他网站链接进行访问。3.隐藏表单域   隐藏表单域就是利用html中表单的hidden属性来传递隐藏数据的目的,   如 <input type="hidden" name="ID"  value="15">,可以用来保存一些像ID这样的重要信息。但是缺点是依然有暴露数据的危险,如果用户想察看用户ID和密码password,只要打开html源文件即可,这样就会造成安全漏洞。4.Session   以上三种都是传统的会话跟踪手段,使用起来会比较麻烦,采用JSP的内建Session对象可以非常方便的实现会话跟踪,内建的session对象是javax.servlet.http.HttpSession类的实例,在Jsp或Servlet中使用时需要从request对象中获得,向session中存入对象使用setAttribute方法,通过getAttribute方法读取对象。如下HttpSession session = request.getSession(); SomeObject value = (SomeObject)session.getAttribute("someID"); if (value == null) { value = new SomeObject (...); session.setAttribute("someID", value); } doSomethingWith(value);