Tomcat如何在内部处理会话?

Maw*_*wia 18 java session tomcat

根据我的理解,Servlet Containers使用一些HTTP协议来处理会话,例如,

  1. 隐藏的表单字段
  2. URL重写
  3. 饼干

我很好奇Apache Tomcat如何在内部处理会话,尽管它与普通开发人员无关.

Tomcat是否也使用cookie或其他?

NIN*_*OOP 13

默认情况下,Tomcat直接在HTTP响应中发送cookie,如SET COOKIE:JSESSIONID....回到浏览器并重写URL以JSESSIONID在第一个请求中添加参数,以便在客户端禁用cookie时它可以回退到后者浏览器.

如果浏览器请求服务器与下一次JSESSIONIDrequest,Tomcat将使用JSESSIONID的cookie维持会话.

您可以通过修改context.xml来覆盖Tomcat中的会话cookie行为:

<Context cookies="false">
</Context>
Run Code Online (Sandbox Code Playgroud)

并禁用url以相同的方式重写:

<Context disableURLRewriting="true">
</Context>
Run Code Online (Sandbox Code Playgroud)

甚至用cookie读取这个Servlet会话跟踪(JSESSIONID)