手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

如何进行session的会话跟踪

时间:2024-10-18 19:03:55

1、首先Cookies是一种由服务器发送给客户的片段信息,存储在客户端浏览器的内存中或硬盘上,在客户随后对该服务器的请求中发回它。Cookie以键值对的方式记录会话跟踪的内容,服务器利用响应报头Set-Cookie来发送Cookie信息,请求报头利用Cookie发回它。

如何进行session的会话跟踪

2、然后Domain属性是可选的,用于指定Cookie在哪一个域中有效。所指定的域必须以点好(.)开始。

如何进行session的会话跟踪

3、expires=<\date>: 设置cookie的有效期,如果cookie超过date所表示的日期时,cookie将失效。如果没有设置这个选项,那么cookie将在浏览器关闭时失效。

如何进行session的会话跟踪

4、Cookie类利用setMaxAge(int expir)可以设置Cookie的生存时间大于0的秒数:将会在指定的秒数后到期;小于0的负数:Cookie不能被保存到持久存储设备中,只能存活于浏览器内存中,当浏览器关闭时,Cookie将被删除。指定0秒:表示浏览器删除Cookie;使用Cookie保存用户的登录信息,只需要登录一次,以后就可以直接访问页面:

如何进行session的会话跟踪

5、URL重写使用浏览器时,如果禁用Cookie,Web服务器就无法利用Cook坡纠课柩ie来跟踪用户的会话,就要使用URL重写邙掩镔呔机制。URL重写就是在URL中附加标识客户的SessionID。Servlet容器解释URL,取出SessionId,与特定的Session关联。例如:http://163.com/bbs/index.jsp;jsessionid=1234567服务器将SessionID作为URL的一部分发送给客户端,客户端在请求URL中再传回来,就可以跟踪用户的会话。要跟踪客户端会话,需要将所有发往客户端的URL进行编码,可以使用HttpServletResponse接口的encodeURL()方法和encodeRedirectURL()方法来实现。

如何进行session的会话跟踪

6、定义Web应用程序中所有session 的超时时间:web.xml中配置。

如何进行session的会话跟踪

7、Session在服务端保存信息,Cookie在客户端保存信息,为了跟踪会话,服务器端在创建Session后,需要将SessionID交给客户端,因此在cookie中有JSessionID=即枢潋雳value;但是它通常是保存在浏览器的内存中(因为Tomcat中设置为MaxAge为负数),并且也不能在多个浏览器之间共享。当不关闭浏览器在客户端再次请求时,这个ID随请求一起发送回来。如果关闭浏览器,那么保存该SessionID的cookie就被删除,导致sessionid丢失了,无法找到先前的sessionid,服务器只能创建一个新的session。而这个时候先前的session是仍然存在的,直到超过设置的session超时时间间隔,那么服务器会清除该session。(可以通过持久化cookie找回session)而利用Cookie进行会话,既可以保存在浏览器内存中,也可以持久化(这时sessionid也是被保存到硬盘,因为sessionid就是cookie中的一个键值对)。当cookie存储在浏览器内存中时,只能被同一个浏览器进程所共享;但是对于保存在硬盘上的Cookie,可以在多个浏览器所共享。总结一句话:SessionId是随着Cookie的保存位置而保存。

© 手抄报圈