HttpServelt 是一个抽象类,它位于包“javax.servlet.http.HttpServlet”下。要创建 servlet,该类必须扩展 HttpServlet 类并至少重写其方法之一(doGet、doPost、doDelete、doPut)。 HttpServlet 类扩展了 GenericServlet 类并实现了 Serialized 接口。
HttpServlet 类的构造函数
HttpServlet()
这是一个抽象类,因此构造函数不执行任何操作。
Methods of HttpServlet Class
1.doGet()方法
- 该方法用于在服务器端处理GET请求。
- 此方法还自动支持 HTTP HEAD(HEAD 请求是一个 GET 请求,响应中不返回任何人)请求。
- GET类型请求通常用于预处理一个要求。
修饰符和类型:受保护的无效
用法:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException
参数:
- request -一个 HttpServletRequest 对象,其中包含客户端对 servlet 发出的请求。
- response -一个 HttpServletResponse 对象,其中包含 servlet 发送到客户端的响应。
异常:
- IO异常-如果 servlet 处理 GET 请求时检测到输入或输出错误。
- ServletException -用于处理 GET 请求。
2.doPost()方法
- 该方法用于在服务器端处理POST请求。
- 该方法允许客户端一次向网络服务器发送无限长度的数据。
- POST类型请求通常用于post-process请求。
修饰符和类型:受保护的无效
用法:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException
参数:
- request - 一个 HttpServletRequest 对象,其中包含客户端对 servlet 发出的请求。
- response -一个 HttpServletResponse 对象,其中包含 servlet 发送到客户端的响应。
抛出:
- IO异常-如果 servlet 处理 POST 请求时检测到输入或输出错误。
- ServletException -用于处理 POST 请求。
3.doHead()方法
- 重写此方法来处理 HEAD 请求。
- 在此方法中,响应仅包含标头,但不包含消息正文。
- 该方法用于提高性能(避免计算响应体)。
修饰符和类型:受保护的无效
用法:
protected void doHead(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException
参数:
- request -一个 HttpServletRequest 对象,其中包含客户端对 servlet 发出的请求。
- response -一个 HttpServletResponse 对象,其中包含 servlet 发送到客户端的响应。
异常:
- IO异常-如果 servlet 处理 HEAD 请求时检测到输入或输出错误。
- ServletException -用于处理 HEAD 请求。
4.doPut()方法
- 重写此方法来处理 PUT 请求。
- 该方法允许客户端将信息存储在服务器上(将图像文件保存在服务器上)。
- 服务器(通过服务方法)调用此方法来处理 PUT 请求。
修饰符和类型:受保护的无效
用法:
protected void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException
参数:
- request -一个 HttpServletRequest 对象,其中包含客户端对 servlet 发出的请求。
- response - 一个 HttpServletResponse 对象,其中包含 servlet 发送到客户端的响应。
抛出:
- IO异常-如果 servlet 处理 PUT 请求时检测到输入或输出错误。
- ServletException -用于处理 PUT 请求。
5.doDelete()方法
- 重写此方法以处理 DELETE 请求。
- 此方法允许客户端从服务器删除文档或网页。
- 使用此方法时,将受影响的 URL 的副本保存在临时存储中可能会很有用,以避免数据丢失。
修饰符和类型:受保护的无效
用法:
protected void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException
参数:
- request - 一个 HttpServletRequest 对象,其中包含客户端对 servlet 发出的请求。
- response -一个 HttpServletResponse 对象,其中包含 servlet 发送到客户端的响应。
异常:
- IO异常-如果 Servlet 处理 DELETE 请求时检测到输入或输出错误。
- ServletException -用于处理 DELETE 请求。
6.doOptions()方法
- 重写此方法以处理 OPTIONS 请求。
- 该方法用于确定服务器支持哪些 HTTP 方法并返回适当的标头。
修饰符和类型:受保护的无效
用法:
protected void doOptions(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException
参数:
- request -一个 HttpServletRequest 对象,其中包含客户端对 servlet 发出的请求。
- response -一个 HttpServletResponse 对象,其中包含 servlet 发送到客户端的响应。
异常:
- IO异常-如果 servlet 处理 OPTIONS 请求时检测到输入或输出错误。
- ServletException -用于处理 OPTIONS 请求。
7.doTrace()方法
- 重写此方法来处理 TRACE 请求。
- 此方法将 TRACE 请求发送的标头返回给客户端,以便它们可以在调试中使用。
修饰符和类型:受保护的无效
用法:
protected void doTrace(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException
参数:
- request - 一个 HttpServletRequest 对象,其中包含客户端对 servlet 发出的请求。
- response - 一个 HttpServletResponse 对象,其中包含 servlet 发送到客户端的响应。
异常:
- IO异常-如果 servlet 处理 TRACE 请求时检测到输入或输出错误。
- ServletException -用于处理 TRACE 请求。
8.getLastModified()方法
- 此方法返回 HttpServletRequest 对象上次修改的时间。
- 如果时间未知,该方法将返回负数。
- 这种方法使浏览器和代理缓存更有效地工作。
- 还减少了服务器和网络资源的负载。
修饰符和类型:保护长
用法:
protected long getLastModified(HttpServletRequest request)
参数:要求 -一个 HttpServletRequest 对象,其中包含客户端对 servlet 发出的请求。
9.service()方法
该方法接收来自公众的标准 HTTP 请求服务方法并将它们分派给做XXX此类中定义的方法。
修饰符和类型:受保护的无效
用法:
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException
参数:
- request -一个 HttpServletRequest 对象,其中包含客户端对 servlet 发出的请求。
- response -一个 HttpServletResponse 对象,其中包含 servlet 发送到客户端的响应。
异常:
- IO异常-如果 servlet 处理 HTTP 请求时检测到输入或输出错误。
- ServletException -用于处理 HTTP 请求。
10.service()方法
该方法用于将客户端请求分派给公共服务方法。
修饰符和类型:公共空白
用法:
public void service(ServletRequest request,ServletResponse response) throws ServletException,IOException
参数:
- request -一个 HttpServletRequest 对象,其中包含客户端对 servlet 发出的请求。
- response -一个 HttpServletResponse 对象,其中包含 servlet 发送到客户端的响应。
异常:
- IO异常-如果 servlet 处理 HTTP 请求时检测到输入或输出错误。
- ServletException -用于处理 HTTP 请求。
例子:
Java
package com.gfg;
import javax.servlet.*;
import javax.servlet.http.*;
// here GFGServlet class inherit HttpServlet
public class GFGServlet extends HttpServlet {
// we are defining the doGet method of HttpServlet
// abstract class
public void doGet(HttpServletRequest rq,
HttpServletResponse rs)
{
// here user write code to handle doGet request
}
// we are defining the doPost method of HttpServlet
// abstract class
public void doPost(HttpServletRequest rq,
HttpServletResponse rs)
{
// here user write code to handle doPost request
}
} // class ends
Note: This is server-side code, it is only for clarification on how to use HttpServlet class.
相关用法
- Java HashMap clear()用法及代码示例
- Java HashMap clone()用法及代码示例
- Java HashMap isEmpty()用法及代码示例
- Java HashMap size()用法及代码示例
- Java HashMap put()用法及代码示例
- Java HashMap putAll()用法及代码示例
- Java HashMap putIfAbsent()用法及代码示例
- Java HashMap remove()用法及代码示例
- Java HashMap containsKey()用法及代码示例
- Java HashMap containsValue()用法及代码示例
- Java HashMap replace()用法及代码示例
- Java HashMap replaceAll()用法及代码示例
- Java HashMap get()用法及代码示例
- Java HashMap getOrDefault()用法及代码示例
- Java HashMap forEach()用法及代码示例
- Java HashMap entrySet()用法及代码示例
- Java HashMap keySet()用法及代码示例
- Java HashMap values()用法及代码示例
- Java HashMap merge()用法及代码示例
- Java HashMap compute()用法及代码示例
- Java HashMap computeIfAbsent()用法及代码示例
- Java HashMap computeIfPresent()用法及代码示例
- Java Hashtable entrySet()用法及代码示例
- Java Hashtable equals()用法及代码示例
- Java Hashtable hashCode()用法及代码示例
注:本文由纯净天空筛选整理自sharmaharsh_05大神的英文原创作品 HttpServlet Class In Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。