📅  最后修改于: 2023-12-03 14:47:25.075000             🧑  作者: Mango
HTTP状态代码是一组数字,每个数字代表着一种状态。在Servlet中,可以使用这些状态代码来向客户端发送响应状态。
以下是HTTP响应状态代码的常见列表:
| 状态码 | 描述 | | ------ | ---- | | 200 | 请求成功,服务器成功响应客户端的请求。 | | 201 | 已创建,成功创建资源。 | | 304 | 未修改,请求的资源并没有被改变。 | | 400 | 坏请求,请求有语法错误或无法完成。 | | 401 | 未授权,请求需要身份验证。 | | 403 | 禁止,服务器拒绝了请求。 | | 404 | 未找到,无法找到请求的路径。 | | 500 | 内部服务器错误,服务器遇到错误而无法完成请求。 |
在Servlet中,可以通过HttpServletResponse的setStatus()方法发送HTTP状态代码。例如:
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setStatus(HttpServletResponse.SC_OK); // 设置状态代码为200
// 发送其他响应头和响应体
}
可以使用HttpServletResponse的常量来代替状态代码的数字。例如,可以使用HttpServletResponse.SC_OK来代替200。
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setStatus(HttpServletResponse.SC_OK); // 设置状态代码为200
// 发送其他响应头和响应体
}
如果客户端请求的资源未被找到,可以通过Servlet API设置一个错误页面。例如:
<web-app>
<!-- 定义错误页面 -->
<error-page>
<error-code>404</error-code>
<location>/error404.jsp</location>
</error-page>
<!-- 定义Servlet -->
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>com.example.MyServlet</servlet-class>
</servlet>
<!-- 映射Servlet -->
<servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/myservlet</url-pattern>
</servlet-mapping>
</web-app>
在例子中,当客户端请求的资源未被找到,会跳转到/error404.jsp页面。可以为其他状态代码定义其他错误页面。
HTTP状态代码是一组数字,每个数字代表着一种状态。在Servlet中,可以使用这些状态代码来向客户端发送响应状态。可以使用HttpServletResponse的setStatus()方法发送HTTP状态代码。如果客户端请求的资源未被找到,可以通过Servlet API设置一个错误页面。