1. request、response、session间的关系
1)request与response相互引用
2)request中有一个session属性引用session对象
3)request中的requestSessionCookie标识客户端请求中是否含会话cookie数据;requestSessionId封装客户端请求中会话cookie数据。
2. session何时创建
在request.getSession() 调用的时候创建。
3. session如何管理
Tomcat是用一个Map管理,key为sessionId,value为session对象
4. session如何连续(以Cookie为例子)
1)客户端提交请求时会检查Cookie,如果存在“JSESSIONID=XXX”的数据,就会顺便提交该cookie数据。
2)request对象会用requestSessionId封装刚才提交的cookie数据
3)当request.getSession()调用的时候,tomcat会拿着requestSessionId的值到Map中找对应的session
4)响应客户端时,由于response对象中引用着request对象,request对象又引用着session,所以response会把sessionid以cooke形式写到客户端。
以此循环、连续。