java - Tomcat 如何在多个请求中维护相同的 session 对象?

标签 java session tomcat servlets jakarta-ee

我读到,每次向 tomcat 发出 servlet 的 HTTP 请求时,它都会创建一个新的 HTTPRequest 对象,并使用该请求对象我们可以访问 session 对象并存储信息。该 session 对象存储多个请求的信息。

我想了解 tomcat 是否为来自浏览器的每个请求创建一个新的 HTTPRequest 对象,那么它如何能够跨多个请求附加相同的 session 对象?

最佳答案

Apache 是一个 servlet 容器。 Servlet 容器附加到一个 Web 服务器,该服务器在某个端口号(通常为 80)上监听 HTTP 请求。当客户端(使用 Web 浏览器的用户)发送 HTTP 请求时,Servlet 容器将创建新的 HttpServletRequest 和 HttpServletResponse 对象并将其传递给已创建的 Filter 和 Servlet 实例的方法,这些实例的 URL 模式与请求 URL 匹配,所有这些都在同一个线程中。

请求对象提供对 HTTP 请求的所有信息的访问,例如请求 header 和请求正文。响应对象提供了按照您想要的方式控制和发送 HTTP 响应的工具,例如设置 header 和正文(通常使用 JSP 文件中的 HTML 内容)。当 HTTP 响应提交并完成时,请求和响应对象都将被丢弃。来源:https://howtodoinjava.com/server/tomcat/a-birds-eye-view-on-how-web-servers-work/

关于java - Tomcat 如何在多个请求中维护相同的 session 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50376546/

相关文章:

php - 站点用户可以更改 cookie 或 session 数据吗?

java - 如何限制tomcat中的登陆页面?

java - 为什么在 Tomcat 7 中重新部署应用程序时我的 session 会消失?

java - 表达式的类型必须是数组类型,但解析为Object

java - 在 MultiPart 调用中将不同参数组合到单个实体部分中是一个好习惯吗?

java - 动态 SSL keystore /证书选择

session - 使用 Silex SessionServiceProvider 时 PHPUnit 失败

php - session 在 Laravel 5.3 中不起作用

java - 如何在 java spring boot 中将字节数组作为内存文件返回?

tomcat - 仅针对某些端点将 Http 重定向到 HTTPS