浅析 Servlet 的三种创建方法

简介: Servlet 的三种创建方法

创建 Servlet


  • 实现 javax.servlet.Servlet 接口
  • 继承 javax.servlet.GenericServlet
  • 继承 javax.servlet.http.HttpServlet


Servlet UML关系图


1.实现 Servlet 接口


  Servlet 接口提供了五个方法,其中三个生命周期方法和两个普通方法,实现 Servlet 接口需要重写五个基本方法。


2.继承 GenericServlet


  GenericServlet 是一个抽象类,实现了Servlet 接口并进行扩展,对其中除 service() 外的方法提供了默认实现,继承 GenericServlet 类只需要重写类中 service() 方法即可。


3.继承 HttpServlet 类(常用)


  HttpServlet 也是一个抽象类,它进一步继承并封装了GenericServlet,使得使用更加简单方便,HttpServlet 中对原始的 Servlet 中的方法都进行了默认实现,使用者只需要继承 HttpServlet,然后重写 doGet() doPost() 方法处理请求即可。
  
有一点需要说明,这两个方法并不是强制重写,如果不重写,那就会执行默认的实现,首先获取协议,然后获取国际化字符串,最后判断协议。如果协议为 HTTP/1.1 则返回 405 错误,如果不是HTTP/1.1 则返回 400 错误。
  
我们创建 Servlet 必然需要它帮助我们实现功能,所以一般都会重写两个方法,假设你肯定你的Servlet 只处理 Get 方法,那你不重写 doPost() 也是可以完成相关功能的,不过还是建议两个方法都重写。
  
我们一般都使用继承 HttpServlet 的方式来创建一个 servlet

相关文章
|
6月前
Servlet方法介绍及体系结构
Servlet方法介绍及体系结构
55 0
|
5月前
|
XML 数据格式
XML配置Servlet文件,不使用注解配置路径的方法
XML配置Servlet文件,不使用注解配置路径的方法
序-Servlet和SpringMVC的联系和区别-配置路径先想好使用的使用的方法,然后匹配的需要的技术
序-Servlet和SpringMVC的联系和区别-配置路径先想好使用的使用的方法,然后匹配的需要的技术
|
6月前
|
存储 Java 应用服务中间件
Servlet执行流程&生命周期&方法介绍&体系结构、Request和Response的功能详解(2)
Servlet执行流程&生命周期&方法介绍&体系结构、Request和Response的功能详解
67 2
|
6月前
|
Web App开发 XML Java
Servlet执行流程&生命周期&方法介绍&体系结构、Request和Response的功能详解(1)
Servlet执行流程&生命周期&方法介绍&体系结构、Request和Response的功能详解
114 2
|
缓存 Java
严重: Servlet[jsp]的Servlet.service()抛出异常 java.lang.IllegalStateException: 当前响应已经调用了方法getOutputStream()
严重: Servlet[jsp]的Servlet.service()抛出异常 java.lang.IllegalStateException: 当前响应已经调用了方法getOutputStream()
608 0
为什么不重写Servlet中的Service()方法
为什么不重写Servlet中的Service()方法
Servlet Cookie 方法
Servlet Cookie 方法
58 0
|
Java 容器
Servlet 过滤器方法
Servlet 过滤器方法
81 0
QGS
|
容器
浅谈Tomcat9之Servlet-request获取请求参数及常用方法
//获取Map集合中所有的key Enumeration<String> getParameterNames();
QGS
151 0