java Servlet使用session来跟踪和管理会话内的状态。利用session,服务器可以把一个客户
的所有请求联系起来,并记住客户的操作状态。
当客户第一次连接到服务器时,服务器为其建立一个session对象,并分配给客户一个唯一的
标识( sessionID),以后客户每一次请求都要将这个标识一起提交。
服务器根据这个特定的标识找到特定的session对象,读取或者记录用户的信息。
四种会话跟踪技术介绍:
隐藏表单域
URL重写
Cookie
Session
HttpSession存/取值:
HttpSession 的常见方法
获得session对象 HttpSession session = request.getSession();
存数据: session.setAttribute(key,value);
取数据: Object obj = session.getAttribute(key);
销毁: session.invalidate();
设置时长: session.setMaxInactiveInterval(sec);
HttpSession生命周期:
Servlet容器从创建Session对象到销毁的过程。 Servlet容器会依据Session对象设置的存
活时间,在达到Session时间后将Session对象销毁。
设置Session存活时间的方式有三种:
一、 session.setMaxInactiveInterval(interval)方法体内的参数interval为秒。
二、 web.xml里配置如下信息
<session-config>
<session-timeout>时间长度(单位为分钟) </session-timeout>
</session-config>
三、在tomcat/conf/server.xml中定义defaultSessionTimeOut=时间长度(分钟)
Cookie:
Cookie” 是小量信息,由网络服务器发送出来以存储在网络浏览器上,
从而下次这位独一无二的访客又回到该网络服务器时,可从该浏览器读回此信息。
可以辨别用户身份、进行session跟踪而储存在用户本地终端上的数据
工作原理:
首先,服务器端在响应中利用Set-Cookie header来创建一个Cookie ,
然后,浏览器在它的请求中通过Cookie header包含这个已经创建的Cookie,并且把它返
回至服务器,从而完成浏览器的论证。