JSP中HTTP状态码
以下内容引用自http://wiki.jikexueyuan.com/project/jsp/http-status-codes.html:
HTTP请求格式和HTTP响应消息的格式一样,都有以下结构:
- 一个初始状态行+CRLF(回车+换行,即新行)
- 零个或多个标题行+CRLF
- 一个空行,即一个CRLF
- 一个可选的消息体,像文件,查询数据或查询输出
例如,一个服务器响应标题看起来如下所示:
HTTP/1.1 200 OK
Content-Type: text/html
Header2: ...
...
HeaderN: ...
(Blank Line)
<!doctype ...>
<html>
<head>...</head>
<body>
...
</body>
</html>
状态行包含HTTP版本(例子中的HTTP/1.1),状态码(例子中的200)和对应状态代码的短消息(例子中的OK)。
下面是HTTP状态代码和相关可能从Web服务器返回的消息的一个列表:
| 编码: | 消息: | 描述: |
|---|---|---|
| 100 | Continue | 只有一部分的服务器请求已经收到,但只要没有被拒绝,客户端应该继续请求 |
| 101 | Switching Protocols | 服务器交换了协议。 |
| 200 | OK | 请求是OK |
| 201 | Created | 请求已经完成,新的资源被创建 |
| 202 | Accepted | 请求被接受处理,但是处理还没有完成。 |
| 203 | Non-authoritative Information | |
| 204 | No Content | |
| 205 | Reset Content | |
| 206 | Partial Content | |
| 300 | Multiple Choices | 一个链接列表。用户可以选择一个链接然后跳转到那个位置。最多可选择5个地址 |
| 301 | Moved Permanently | 请求页面已经被移到新的URL中 |
| 302 | Found | 请求页面暂时被移到新的URL中 |
| 303 | See Other | 请求页面可在不同的URL中找到 |
| 304 | Not Modified | |
| 305 | Use Proxy | |
| 306 | Unused | 该代码是在前一版本使用的。它已不再使用,但该代码保留下来了。 |
| 307 | Temporary Redirect | 请求页面被暂时移到新的URL中。 |
| 400 | Bad Request | 服务器没有理解请求。 |
| 401 | Unauthorized | 请求页面需要用户名和密码 |
| 402 | Payment Required | 不能使用这个代码 |
| 403 | Forbidden | 不允许访问请求页面 |
| 404 | Not Found | 服务器找不到请求页面。 |
| 405 | Method Not Allowed | 在请求中指定的方法不允许使用。 |
| 406 | Not Acceptable | 服务器只能生成一个不被客户端接收的响应。 |
| 407 | Proxy Authentication Required | 在这个请求得到服务之前,必须验证一个代理服务器。 |
| 408 | Request Timeout | 请求花费的时间比服务器准备等待的时间长。 |
| 409 | Conflict | 由于冲突请求不能实现。 |
| 410 | Gone | 请求页面不再可用。 |
| 411 | Length Required | "内容-长度" 没有被定义。没有它服务器不会接受请求。 |
| 412 | Precondition Failed | 服务器给出给定的请求评估的前提为假。 |
| 413 | Request Entity Too Large | 服务器不会接受请求,因为请求实体太大。 |
| 414 | Request-url Too Long | 服务器不会接受请求,因为URL太长。当把“POST”请求转换为带有很长的查询信息的“GET”请求时,这种情况就会发生 |
| 415 | Unsupported Media Type | 服务器不会接受请求因为媒体类型不支持。 |
| 417 | Expectation Failed | |
| 500 | Internal Server Error | 请求未完成。服务器遇到了意外情况。 |
| 501 | Not Implemented | 请求未能完成。服务器不支持所需的功能。 |
| 502 | Bad Gateway | 请求未能完成。服务器从上游服务器收到无效响应 |
| 503 | Service Unavailable | 请求未能完成。服务器暂时过载或瘫痪。 |
| 504 | Gateway Timeout | 网关超时。 |
| 505 | HTTP Version Not Supported | 服务器不支持“HHTP协议”版本。 |
设置HTTP状态码的方法:
有以下方法可以用来设置 servlet 程序的 HTTP 状态码。有了 HttpServletResponse 对象,这些方法都是可用的。
| 方法 | 描述 |
|---|---|
| public void setStatus ( int statusCode ) | 此方法设置一个任意的状态码。setStatus方法接受一个 int(状态码)作为参数。如果响应包含一个特殊的状态码和文档,在实际中用PrintWriter返回任何内容之前一定要调用setStatus。 |
| public void sendRedirect(String url) | 该方法生成一个302响应以及一个位置标题给出新文档的URL。 |
| public void sendError(int code, String message) | 这种方法发送一个状态码(通常是404)以及一个在HTML文档内自动格式化的短消息并发送到客户端。 |
HTTP 状态码实例:
下面的例子将发送407错误代码到客户端浏览器,浏览器将显示“需要验证! ! !”的消息。
<html>
<head>
<title>Setting HTTP Status Code</title>
</head>
<body>
<%
// Set error code and reason.
response.sendError(407, "Need authentication!!!" );
%>
</body>
</html>
现在调用上述代码,JSP将显示如下所示的结果:

测试工程:https://github.com/easonjim/5_java_example/tree/master/jspbasics/test6
JSP中HTTP状态码的更多相关文章
- 19.在HTTP 1.0中,状态码401的含义是(?);如果返回“找不到文件”的提示,则可用 header 函数,其语句为(?)写出http常见的状态码和含义,至少5个.[完善题目]
状态401代表未被授权,header("Location:www.xxx.php"); 100-199 用于指定客户端应相应的某些动作. 200-299 用于表示请求成功. 300 ...
- 网站建设中HTTP状态码的奥秘
在网络营销中,站长经常会遇到一些HTTP状态码的问题,不懂HTTP状态码那么做SEO优化就无从谈起,下面是脉凌网络对HTTP状态码总结的一览表. 1xx:请求收到,继续处理 2xx:操作成功收到,分析 ...
- php笔记06:http响应中的状态码
首先我们看一个360浏览器中使用开发截图如下: 上面的Status Code: OK (这个就是状态码) 1.状态码主要用于服务器对请求的处理结果,它是一个三位的十进制数.响应状态码分为5类,如下所 ...
- 关于 RESTful API 中 HTTP 状态码的定义
最近正好使用了一会儿 Koa ,在这说一下自己对各个 请求码的见解和使用场景,懒人直接看 200.400.401.403.404.500 就可以了. 其中 2XX/3XX 其实都是请求成功,但是结果不 ...
- http协议中的状态码(status code),超文本传输协议状态码
HTTP协议,又叫超文本传输协议. 在项目的开发过程中,前后端交互,这个用的是最多的,在后端给我的的接口调用时,我们往往先查看这个协议的状态码,状态码正常了,才进一步去看我们从后太拿的数据,是否为我们 ...
- JSP常见的状态码
1.404错误 -- 找不到访问的页面或资源 a.URL输入错误: b.未部署项目. 2.500错误 -- JSP页面代码有错误 3.302状态码+200状态码 -- 重定向 4.200状态码 -- ...
- Shell中退出状态码exit
shell中运行的每个命令都使用退出状态码(exit status)来告诉shell它完成了处理.退出状态码是一个0~255之间的整数值,在命令结束时由命令传回shell. 1 .查看退出状态码 Li ...
- HTTP/1.0中,状态码200 301 304 403 404 500的含义?
200 OK 服务器成功处理了请求 301 重定向,请求的URL已移走 304未修改,客户的缓存资源是最新的,要客户端使用缓存 403禁止,请求被服务器拒绝了 404未找到资源 500内部服务器错误, ...
- HTTP状态码302、303和307的故事
今日读书,无法理解HTTP302.303.307状态码的来龙去脉,决定对其做深究并总结于本文. <HTTP权威指南>第3章在讲解30X状态码时,完全没有讲清楚为什么要有 ...
随机推荐
- colormap画出的图不是彩色问题
针对matlab2017渲染出的彩色图是黑白的问题. t=labels; t(tstSet(:,end-))=Relabels; t=reshape(t,,); t=t'; figure imshow ...
- 短视频SDK用于旅游行业
超级简单易用的短视频SDK来自RDSDK.COM.锐动天地为开发者提供短视频编辑.视频直播.特效.录屏.编解码.视频转换,等多种解决方案,涵盖PC.iOS.Android多平台.以市场为导向,不断打磨 ...
- 源代码管理git的使用
Git ----本地仓库---- 1.新建一个“本地仓库” git init 2.配置仓库 ①告诉git你是谁 git config user.name syl ②告诉git怎么联系你 git con ...
- Win7 32位 遇到微软 silverlight 5.0安装失败的解决办法
刚开始,也是尝试下载安装,多次都是到99%,提示安装失败! 也查找了很多网上朋友分享的办法,还是不行.重新建立一个管理员账号,还是不行. 后来反复不断的测试,找到原因了,安装99%不成功,但是卸载程序 ...
- 在DOS行下设置静态IP
A.设置静态IP CMD netsh netsh>int interface>ip interface ip>set add "本地链接" static ...
- CAD参数绘制图案填充(网页版)
绘制工程图,常常需要将某种图案填充到某一区域,例如剖面线的绘制.MxCAD提供了丰富的填充图案,可以利用这些图案进行快速填充. js中实现代码说明: function DrawPathToHatch2 ...
- 第3节 mapreduce高级:7、自定义outputformat实现输出到不同的文件夹下面
2.1 需求 现在有一些订单的评论数据,需求,将订单的好评与差评进行区分开来,将最终的数据分开到不同的文件夹下面去,数据内容参见资料文件夹,其中数据第九个字段表示好评,中评,差评.0:好评,1:中评, ...
- python 获取路径
获取目录路径和文件路径 import osfor root, dirs, files in os.walk(".", topdown=False): # ‘.’为获取脚本所在路径下 ...
- cacheStorage缓存及离线开发
案例地址:https://zhangxinxu.github.io/https-demo/cache/start.html 我们直接看一个例子吧,如下HTML和JS代码: <h3>一些提示 ...
- 笔试算法题(18):常数时间删除节点 & 找到仅出现一次的两个数字
出题:给定链表的头指针和一个节点指针,要求在O(1)的时间复杂度下删除该节点 分析: 如果需要删除的节点为A,其前序节点为A-,其后续节点为A+,所以删除A之后,需要使得A-的下一个节点就是A+,常规 ...