一、常见的http请求状代码及原因
- 1xx
- 100 (继续) 请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。
- 101 (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。
- 2xx(成功)
- 3xx(重定向,表示完成请求,需要进一步操作)
- 4xx (请求错误)
- 400 (错误请求) 请求语法错误
- 401(未授权) 请求要求身份验证,对于需要登录的网页,服务器可能返回此响应
- 403(禁止) 服务器拒绝请求
- 404(未找到) 服务器找不到请求的网页
- 405(方法禁用) 禁用请求中指定的方法
- 406(不接受) 无法使用请求的内容特性响应请求的网页
- 407(需要代理授权) 与401类似,但指定请求者应当授权使用代理
- 408(请求超时)
- 409(冲突) 服务器在完成请求时发生冲突。服务器必须在响应中包含有关冲突的信息。
- 410(已删除) 如果请求的资源已永久删除,服务器就会返回此响应。
- 5xx(服务器错误)
- 500 (服务器内部错误) 常见于后端代码出现异常
- 501 (尚未实施) 服务器不具备完成请求的功能。当服务器无法识别请求方法时可能会返回此代码
- 502(网关错误) 服务器作为网关或代理,从上游服务器接收到无效响应
- 503(服务器不可用) 服务器正在停机维护或超载时会出现
- 504(网关超时)
- 505(HTTP版本不支持)
二、在JSP中处理错误请求
对于一些特别常见的错误,我们需要跳转到一个特定的页面告诉用户哪个地方出错了,应该怎么办,常见的有404,401,500
我们可以在web.xml中加上如上信息
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<!--异常处理页面-->
<error-page>
<error-code>404</error-code>
<location>/error2.jsp</location>
</error-page>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
并在webapp下添加error页面
注意:一定要有isErrorPage = "true"这一属性,否则不能使用exception对象
<%@ page contentType="text/html;charset=UTF-8" language="java" isErrorPage="true" %>
<html>
<head>
<title>$Title$</title>
<base href="<%=request.getContextPath()+"/"%>">
</head>
<body>
<img src="imgs/0.jpg">
<%--如果当前页面想要使用 exception对象 需要在页面中增加 isErrorPage='true'--%>
<%=exception.getMessage()%>
</body>
</html>