Servlet--Session创建时间

举报
brucexiaogui 发表于 2021/12/30 02:04:07 2021/12/30
【摘要】 Servlet--Session创建时间 一、Session创建过程 A、第一个调用request.getSeesion()   1、IE浏览器第一次向web项目发送一个请求。(这里项目的名称是 myWeb) 2、Tomcat接收到请求后,准备request和response两个对象,调用myweb项目的serv...

Servlet--Session创建时间


一、Session创建过程

A、第一个调用request.getSeesion()  

1、IE浏览器第一次向web项目发送一个请求。(这里项目的名称是 myWeb)

2、Tomcat接收到请求后,准备request和response两个对象,调用myweb项目的servlet 类的doGet 或者doPost  方法,并传递request和response值。

3、doGET方法中执行了 request.getSession() 方法。

4、tomcat接收到请求后,为myweb项目创建一个Httpsession,并记录它属于myweb项目,且属于这个IE浏览器。


B、第二次调用request.getSeesion()

1、IE浏览器第二次向web项目发送一个请求。(这里项目的名称是 myWeb)

2、Tomcat接收到请求后,第二次准备request和response两个对象,调用myweb项目的Oneservlet 类的doGet 或者doPost  方法,并传递request和response值。

3、doGET方法中执行了 request.getSession() 方法。

4、Tomcat接收到请求后,先检查有没有给myweb项目创建一个HttpSession,如果已创建则返回给客户端。如果没有创建则创建。

5、第二次请求不会创建新的session,因为第一次已经给这个myweb的OneServlet类创建了一个Session


C、第三次调用同一个项目的另一个Servlet

1、IE浏览器第二次向web项目发送一个请求。(这里项目的名称是 myWeb)

2、Tomcat接收到请求后,第二次准备request和response两个对象,调用myweb项目的Toeservlet 类的doGet 或者doPost  方法,并传递request和response值。

3、doGET方法中执行了 request.getSession() 方法。

4、Tomcat接收到请求后,先检查myweb项目是否有Session ,该项目在第一次请求的时候已经创建了Session。所以这次直接返回没有创建。

5、tomcat判断是否创建了Session条件是IE浏览器是否为同一个浏览器,是否请求的是同一个项目。和项目中的Servlet类没有关系。


二、Session创建时间结论

1、Session创建时间-----当程序员第一次调用了request.getSession()   就创建这个项目的这个浏览器的Session

2、再次访问,如果是同一个项目,且同一个浏览器,就不会再创建Session

3、Session的默认有效时间为30分钟。

4、不同的浏览器访问同一个项目,会创建多个Session

5、Session都是由Tomcat容器来维护

6、每一个Seesion都拥有一个唯一的UUID标示符

7、HttpSession是与某个浏览器相关的,一个浏览器就是一个Session

8、Session用于记录某个用户的信息,且不会和其他人冲突。

文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。

原文链接:brucelong.blog.csdn.net/article/details/75834732

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。