Java Servlet 详解:(四) Servlet 继承结构

1.Servlet 接口

  • init(),创建 Servlet 对象后立即调用该方法完成其他初始化工作
  • service(),处理客户端请求,执行业务操作,利用响应对象响应客户端请求。
  • destroy(),在销毁 Servlet 对象之前调用该方法,释放资源。
  • getServletConfig(),ServletConfig 是容器向 servlet 传递参数的载体
  • getServletInfo(),获取 servlet 相关信息

2.ServletConfig 接口

  • Servlet 运行期间,需要一些辅助信息,这些信息可以在 web.xml 文件中,使用一个或多个元素,进行配置。当 Tomcat 初始化一个 Servlet 时,会将该 Servlet 的配置信息,封装到一个 ServletConfig 对象中,通过调用 init(ServletConfig config)方法,将 ServletConfig 对称传递给 Servlet

3.GenericServlet 是个抽象类

  • GenericServlet 是实现了 Servlet 接口的抽象类。在 GenericServlet 中进一步的定义了Servlet 接口的具体实现,其设计的目的是为了和应用层协议解耦,在 GenericServlet 中包含一个 Service 抽象方法。我们也可以通过继承 GenericServlet 并实现 Service 方法实现请求的处理 , 但是需要将 ServletReuqest 和 ServletResponse 转为 HttpServletRequest 和 HttpServletResponse

4.HttpServlet 类

  • 继承自 GenericServlet. 针对于处理 HTTP 协议的请求所定制。在 HttpServlet 的 service() 方 法 中 已 经 把 ServletReuqest 和 ServletResponse 转 为 HttpServletRequest 和 HttpServletResponse。 直接使用 HttpServletRequest 和 HttpServletResponse, 不再需要强转。实际开发中, 直接继承 HttpServlet, 并根据请求方式复写 doXxx() 方法即可。

相关文章: