目录
- 2.1 200 OK
- 2.2 301 Moved Permanently
- 2.3 400 Bad Request
- 2.4 403 Forbidden
- 2.5 404 Not Found
- 2.6 500 Internal Server Error
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>
参考资料
- Oracle 官方文档
- HttpServletResponse
- 出站链接:https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpServletResponse.html
- 提供状态码常量和
response
方法的官方说明。
- Mozilla 开发者网络 (MDN)
- HTTP Status Codes
- 出站链接:https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
- 详细列出所有 HTTP 状态码及其含义。
- JavaTpoint JSP 教程
- JSP HTTP Status Codes
- 出站链接:https://www.javatpoint.com/http-status-in-jsp
- 讲解 JSP 中状态码的使用。
如果需要更具体的示例或有其他问题,请告诉我!
发表回复