【发布时间】:2019-07-14 14:30:24
【问题描述】:
在 java servlet 中,每当我们通过扩展 GenericServlet 类创建 Servlet 类时,就无法进行会话管理。
所以我也有兴趣了解
【问题讨论】:
标签: java servlets jakarta-ee servlet-filters
在 java servlet 中,每当我们通过扩展 GenericServlet 类创建 Servlet 类时,就无法进行会话管理。
所以我也有兴趣了解
【问题讨论】:
标签: java servlets jakarta-ee servlet-filters
HTTP Session 是 HTTP 特定的东西。通用 Servlet 不知道 HTTP 概念,只有 HTTPServlet 知道。
关于您的下一个问题:“您什么时候需要 GenericServlet?”答案是never。
【讨论】:
GenericServlet 中没有特定于协议的功能,它是基本的通用 Servlet 接口的实现。基于 Servlet 的会话仅设计用于使用 HTTP 协议的交互,该协议具有 Servlet 容器模拟连续用户会话所必需的两个关键特性:cookie 和基于 URL 的导航,它支持 URL 重写。因此 Servlet API 将 HttpSession 接口放在 javax.servlet.http 包中,而 Session 引用只能通过该包中的类获得
所以,GenericServlet 类实现了 Servlet、ServletConfig 和 Serializable 接口。它提供了这些接口除服务方法之外的所有方法的实现。 GenericServlet 类可以处理任何类型的请求,因此它与协议无关。 您可以通过继承 GenericServlet 类并提供服务方法的实现来创建通用 servlet。
【讨论】: