HTTP session和cookie
session在创建的时候就是我们第1次request.getsession的时候,TOMCAT去检测请求报文是否携带了一个叫做jessionid的cookie,如果说没有的话,然后在我们的服务器中会创建一个叫做JSESSIONID的cookie,后面会响应给客户端(cookie:JSESSIONID=B0F0E44ADB76B48FD72D2842C3962367)(类似这种,后面的值一串根据一定条件随机生成的的字符串,这个字符串序列会作为session的ID也就是map的键)并且创建一个HTTP session对象,然后把这个session对象把它给存储到我们服务器所维护的map集合里面,就是HTTPsession的原理.存到这个map集合时,用jsessonID的值(例如DS23REVIHUCNIEe9)作为键值对的键,把刚刚创建的session的对象作为值存到session的map里。再响应给客户端(cookie:JJSESSIONID=B0F0E44ADB76B48FD72D2842C3962367)。
(SESSIONmap,key是JESSIONID,值是session对象)
下次客户端访问时,会携带一个叫做JSESSIONID的cookie
(cookie:JSESSIONID=B0F0E44ADB76B48FD72D2842C3962367)
这次服务器端再调用request.getsession时,TOMCAT去检测请求报文是否携带了一个叫做jessionid的cookie.发现携带了,读取cookie JSESSIONID的值 随机序列B0F0E44ADB76B48FD72D2842C3962367作为键,到服务器所维护的map集合里面,取出对应的值sesssion对象
from SGG-SSM框架全套教程,MyBatis+Spring+SpringMVC+SSM整合一套通关-P133 06:01