目录

  1. HTTP 状态码的处理
  2. 常见的 HTTP 状态码
  1. 在 JSP 中设置状态码
  2. 参考资料

HTTP 状态码的处理

在 JSP 中,HTTP 状态码通过 response 隐式对象(javax.servlet.http.HttpServletResponse)来设置和处理。这些状态码表示服务器对客户端请求的响应状态,常用于指示成功、错误或重定向等情况。JSP 可以通过 response.setStatus()response.sendError() 方法设置状态码。


常见的 HTTP 状态码

2.1 200 OK

  • 含义:请求成功,服务器正常返回数据。
  • 示例:默认状态,无需手动设置。

2.2 301 Moved Permanently

  • 含义:资源已永久移动到新位置。
  • 示例
  response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
  response.setHeader("Location", "newpage.jsp");

2.3 400 Bad Request

  • 含义:客户端请求有语法错误。
  • 示例
  response.sendError(HttpServletResponse.SC_BAD_REQUEST, "无效请求");

2.4 403 Forbidden

  • 含义:服务器拒绝访问,权限不足。
  • 示例
  response.sendError(HttpServletResponse.SC_FORBIDDEN, "无权限访问");

2.5 404 Not Found

  • 含义:请求的资源未找到。
  • 示例
  response.sendError(HttpServletResponse.SC_NOT_FOUND, "页面不存在");

2.6 500 Internal Server Error

  • 含义:服务器内部错误。
  • 示例
  response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "服务器错误");

在 JSP 中设置状态码

  • setStatus(int status):设置状态码,通常用于成功或重定向状态(如 200、301)。
    示例:
  response.setStatus(HttpServletResponse.SC_OK);
  • sendError(int status, String msg):设置错误状态码并返回错误信息(如 404、500)。
    示例:
  response.sendError(HttpServletResponse.SC_NOT_FOUND, "资源未找到");
  • 配置错误页面:在 web.xml 中定义全局错误页面:
  <error-page>
      <error-code>404</error-code>
      <location>/error404.jsp</location>
  </error-page>

参考资料

  1. Oracle 官方文档
  1. Mozilla 开发者网络 (MDN)
  1. JavaTpoint JSP 教程

如果需要更具体的示例或有其他问题,请告诉我!