实现会话跟踪的几种方式

会话追踪的4种方式:

1)使用持续CookiesPersistent Cookies

2)重写包含额外参数的URLURL Rewriting

3)建立含有数据的隐藏表单字段(Hidden Form Field

4)使用内建session对象

1.使用Cookie。例如:

String sessionID=makeUniqueString();

HashMap seesionInfo=new HashMap();

HashMap globalTable= findTableStringSession();

globalTable.put(sessionID,sessionInfo);

Cookie sessionCookies =new Cookie(“JSESSIONID”,sessionID);

sessionCookie.setPath(“/”);

reponse.addCookie(sessionCookie);

上面这段代码先将会话信息记录在HashMap中,保存在服务器端,并用sessionID标识,然后把sessionID保存在名为”JSESSIONID“的Cookie种。

  用户请求到达服务器后,先从Cookie中取出sessionID,然后从HashMap种取出会话信息。从而实现会话追踪。

2.URL重写

URL重写是利用GET方法,在URL的尾部添加一些额外的参数来达到会话追踪的目的,服务器将这个标识符与它所存储的有关会话的数据关联起来,URL看起来如:http://localhost/file.html;jsession=1234  。

3.隐藏表单字段

利用HTML内的Hidden属性,把客户端的信息,在用户不察觉的情形下,随着请求一起发送给服务器处理。

如: <input type=”hidden”  name=”userID” value=”15″>

4.使用内建session对象

JSP的内建session对象的会话机制基于CookieURL重写技术,融合了这两种技术的优点,当客户端允许使用Cookie时,内建session对象使用Cookie进行会话追踪,如果客户端禁用Cookie,则选择使用URL重写。



打赏

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.