会话管理:
Internet通信协议一般可分为无状态连接和持续性连接,区别在于服务器与客户端之间的维持状态不同!
HTTP是无状态的连接。在http中关心的是请求和响应的状态,只有客户端有请求时才建立连接。所以服务器
不能从他得到传递的请求是否来自同一个客户端,为此引入HTTP会话!
在HTTP中会话可以理解为特定浏览器与Web服务器之间的维持一定时间的联系状态。http是无状态协议,
而在Web应用开发中又要经常维持会话,所以出现了不同形式的会话维持机制:Cookie、URL重写、SSL。
Cookie是Web服务器向客户端发送并在客户端储存的一个微型数据文件,浏览器会把以前Web服务器发
过来的Cookie数据随请求一块发给Web服务器,服务器可以检查Cookie的值来确定请求属于哪个会话,浏览器
如果关了就不行。Cookie会导致客户信息的泄漏!所以客户可以设置是否打开Cookie!
作为服务器,为了标志每一个会话会生成一个SessionID(唯一)。SessionID保存在Cookie中,浏览器一
关服务器就收不到包含ID的请求啦!
解决这个问题,就用URL重写技术。就是将SessionID附加到URL中。这样用户每次请求时,就会在URL中
附加SessionID.
httpSession接口
javax.servlet.http.HttpSession接口封装了HTTP会话的细节,用于识别一个客户和一系列HTTP请求的关联关系
。在Servlet运行中。Servlet容器使用HttpSession接口建立起和Web服务器之间的会话关系!就可以知道请求是
从哪里来的!Servlet容器可以使用HttpSessionRequest接口中的getSession(boolean creat)获取该请求所属
的会话对象。如果HTTP请求中包含会话信息,Servlet容器就会创建或改动HttpSession对象,过期就删除!
如果返回为true就创建会话;否则为null。