- Web Container会使用这个Session ID,找到对应的HttpSession,并将这个Request与这个HttpSession联系起来。
当用户第一次访问Servlet时,服务器端会给用户客户端创建一个独立的Session;
该Session会有一个Session ID(JSESSIONID),格式如:JSESSIONID=7F149950097E7B5B41B390436497CD21,其中JSESSIONID是固定的。而这个Session ID在响应浏览器的时候会被存储到Cookie中,从而被保存到浏览器中;
而后面的value值对应的则是给该客户端新创建的session的ID;
当用户再一次访问Servlet时,请求C都会携带着Cookie中的SessionID去访问;
服务器会根据这个Session ID去查看是否有对应的Session对象;
如果有就拿出来使用;如果没有就创建一个Session(相当于用户第一次访问)。
3. HttpSession生命周期:
3.1 什么时候创建HttpSession
- (1). 对于JSP而言:
是否浏览器访问服务端的任何一个JSP,服务器都会立即创建一个HttpSession对象呢? 不一定。
①.若当前的JSP或Servlet,是客户端访问当前WEB应用的第一个资源,且JSP的page指令中的session属性为false时,服务器是不会为JSP创建HttpSession对象的;
②.若当前JSP不是客户端访问的WEB应用的第一个资源,且其他页面