会话跟踪是指服务器端用来保存客户端用户信息的一种技术,有以下四种实现方式:
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);
JSP的会话跟踪技术
最新推荐文章于 2024-01-03 21:44:06 发布