我们以 HttpServletRequest#getSession() 作为切入点,对 Session 的创建过程进行分析 

我们的应用程序拿到的 HttpServletRequest 是 org.apache.catalina.connector.RequestFacade(除非某些 Filter 进行了特殊处理),它是 org.apache.catalina.connector.Request 的门面模式。首先,会判断 Request 对象中是否存在 Session,如果存在并且未失效则直接返回 如果不存在 Session,则尝试根据 requestedSessionId 查找 Session,如果存在 Session 的话则直接返回,如果不存在的话,则创建新的 Session,并且把 sessionId 添加到 Cookie 中,后续的请求便会携带该 Cookie,这样便可以根据 Cookie 中的sessionId 找到原来创建的 Session了 

Tomcat实现session的代码逻辑分析

 

 

相关文章:

  • 2021-10-07
  • 2021-08-04
  • 2021-07-31
  • 2021-09-07
  • 2022-01-01
  • 2021-04-03
  • 2021-06-08
  • 2022-12-23
猜你喜欢
  • 2021-09-30
  • 2021-10-06
  • 2022-02-10
  • 2021-11-01
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案