📜  Servlet-Http状态代码(1)

📅  最后修改于: 2023-12-03 14:47:25.075000             🧑  作者: Mango

Servlet-HTTP状态代码

HTTP状态代码是一组数字,每个数字代表着一种状态。在Servlet中,可以使用这些状态代码来向客户端发送响应状态。

常见的HTTP状态代码

以下是HTTP响应状态代码的常见列表:

| 状态码 | 描述 | | ------ | ---- | | 200 | 请求成功,服务器成功响应客户端的请求。 | | 201 | 已创建,成功创建资源。 | | 304 | 未修改,请求的资源并没有被改变。 | | 400 | 坏请求,请求有语法错误或无法完成。 | | 401 | 未授权,请求需要身份验证。 | | 403 | 禁止,服务器拒绝了请求。 | | 404 | 未找到,无法找到请求的路径。 | | 500 | 内部服务器错误,服务器遇到错误而无法完成请求。 |

在Servlet中发送状态代码

在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设置一个错误页面。