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状态码时,完全没有讲清楚为什么要有 ...
随机推荐
- node.js学习笔记(1)
一. 安装以及环境配置 安装路径 http://nodejs.cn/download/ 多种环境选择 环境变量的配置 Step1 先检查环境变量中的系统变量里面的path,查看是否加入了nod ...
- 微信“摇一摇·周边”正式开放
今日,在微信公开课第三季长沙站现场,微信团队宣布“摇一摇·周边”(以下简称“摇周边”)正式对外开放.拥有微信认证的公众帐号商户,均可通过摇周边的商户申请平台(https://zb.weixin.qq. ...
- 安卓(Android )软键盘的控制(显示和隐藏)
Activity 启动时软键盘默认状态 在清单文件(manifest .xml)中可以通过在 Activity 标签中增加属性控制软键盘的默认状态: android:windowSoftInputMo ...
- node.js入门之三
Node.js REPL(交互式解释器) Node.js REPL(Read Eval Print Loop:交互式解释器) 表示一个电脑的环境,类似 Window 系统的终端或 Unix/Linux ...
- vba,excel,网址提取名字与链接url
'宏操作 Sub 复制超级链接() '这里控制读取A列的第1到10行,你根据自已的要求修改一下起始和结束行数 ).Hyperlinks.Count > ).Value = Cells(a, ). ...
- Pycharm 设置python文件自动生成头部信息模板
设置头部信息路径: 打开File—Settings—Editor—File and Code Templates—Python Script 输入要自动生成的头部信息模板 这样,新建py文件就会自动生 ...
- chgrp - 改变文件的组所有权
总览 chgrp [选项] 组文件... POSIX 选项: [-R] [--] Austin 草拟选项: [-hHLPR] GNU 团体指示: [--reference=rfile] GNU 选项 ...
- js 或jquery定义方法时,参数不固定是怎么实现的
//①不定义接受参数的方式来接受参数(arguments) function getparams(){ //利用arguments来接受参数,arguments表示参数集合, //里面存放的调用这个方 ...
- CAD参数绘制多行文字(网页版)
在CAD设计时,需要绘制多行文字,用户可以设置设置绘制文字的高度等属性. 主要用到函数说明: _DMxDrawX::DrawMText 绘制一个多行文字.详细说明如下: 参数 说明 DOUBLE dP ...
- 51node 1134 最长递增子序列 (数据结构)
题意: 最长递增子序列 思路: 普通的$O(n^2)$的会超时.. 然后在网上找到了另一种不是dp的写法,膜拜一下,自己写了一下解释 来自:https://blog.csdn.net/Adusts/a ...