HttpServlet 是一个抽象类,它位于 javax.servlet.http.HttpServlet 包下。要创建一个 Servlet,我们的类必须继承 HttpServlet 类,并重写至少一个它的方法(如 doGet、doPost、doDelete、doPut)。HttpServlet 类继承自 GenericServlet 类,并实现了 Serializable 接口。
HttpServlet 类的构造函数
HttpServlet()
由于这是一个抽象类,所以该构造函数实际上什么也不做。
HttpServlet 类的方法
1. doGet() 方法
- 此方法用于在服务器端处理 GET 请求。
- 此方法还自动支持 HTTP HEAD(HEAD 请求是一个返回无响应体的 GET 请求)请求。
- GET 类型的请求通常用于对请求进行预处理。
修饰符和类型: protected void
语法:
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException,IOException
参数:
- request – 一个 HttpServletRequest 对象,包含客户端向 Servlet 发出的请求信息。
- response – 一个 HttpServletResponse 对象,包含 Servlet 发回给客户端的响应。
异常:
- IOException – 如果在 Servlet 处理 GET 请求时检测到输入或输出错误。
- ServletException – 用于处理 GET 请求相关的异常。
2. doPost() 方法
- 此方法用于在服务器端处理 POST 请求。
- 此方法允许客户端一次性向 Web 服务器发送无限长度的数据。
- POST 类型的请求通常用于对请求进行后处理。
修饰符和类型: protected void
语法:
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException,IOException
参数:
- request – 一个 HttpServletRequest 对象,包含客户端向 Servlet 发出的请求信息。
- response – 一个 HttpServletResponse 对象,包含 Servlet 发回给客户端的响应。
抛出:
- IOException – 如果在 Servlet 处理 POST 请求时检测到输入或输出错误。
- ServletException – 用于处理 POST 请求相关的异常。
3. doHead() 方法
- 此方法被重写以处理 HEAD 请求。
- 在此方法中,响应仅包含头部信息,但不包含消息体。
- 此方法用于提高性能(避免计算响应体)。
修饰符和类型: protected void
语法:
protected void doHead(HttpServletRequest request, HttpServletResponse response)
throws ServletException,IOException
参数:
- request – 一个 HttpServletRequest 对象,包含客户端向 Servlet 发出的请求信息。
- response – 一个 HttpServletResponse 对象,包含 Servlet 发回给客户端的响应。
异常:
- IOException – 如果在 Servlet 处理 HEAD 请求时检测到输入或输出错误。
- ServletException – 用于处理 HEAD 请求相关的异常。
4. doPut() 方法
- 此方法被重写以处理 PUT 请求。
- 此方法允许客户端在服务器上存储信息(例如将图像文件保存到服务器)。
- 此方法由服务器(通过 service 方法)调用,以处理 PUT 请求。
修饰符和类型: protected void
语法:
protected void doPut(HttpServletRequest request, HttpServletResponse response)
throws ServletException,IOException
参数:
- request – 一个 HttpServletRequest 对象,包含客户端向 Servlet 发出的请求信息。
- response – 一个 HttpServletResponse 对象,包含 Servlet 发回给客户端的响应。
抛出:
- IOException – 如果在 Servlet 处理 PUT 请求时检测到输入或输出错误。
- ServletException – 用于处理 PUT 请求相关的异常。
5. doDelete() 方法
- 此方法被重写以处理 DELETE 请求。
- 此方法允许客户端从服务器上删除文档或网页。
- 使用此方法时,将受影响的 URL 副本保存在临时存储中以避免数据丢失可能会很有用。
修饰符和类型: protected void
语法:
protected void doDelete(HttpServletRequest request, HttpServletResponse response)
throws ServletException,IOException
参数:
- request – 一个 HttpServletRequest 对象,包含客户端向 Servlet 发出的请求信息。
- response – 一个 HttpServletResponse 对象,包含 Servlet 发回给客户端的响应。
异常:
- IOException – 如果在 Servlet 处理 DELETE 请求时检测到输入或输出错误。
- ServletException – 用于处理 DELETE 请求相关的异常。
6. doOptions() 方法
- 此方法被重写以处理 OPTIONS 请求。
- 此方法用于确定服务器支持哪些 HTTP 方法,并返回相应的头部信息。
修饰符和类型: protected void