- JSP 基础教程
- JSP - 主页
- JSP - 概述
- JSP - 环境设置
- JSP-架构
- JSP-生命周期
- JSP - 语法
- JSP - 指令
- JSP - 操作
- JSP - 隐式对象
- JSP - 客户请求
- JSP——服务器响应
- JSP - HTTP 状态代码
- JSP - 表单处理
- JSP - 编写过滤器
- JSP - Cookie 处理
- JSP - 会话跟踪
- JSP-文件上传
- JSP - 处理日期
- JSP - 页面重定向
- JSP - 点击计数器
- JSP - 自动刷新
- JSP - 发送电子邮件
- 高级 JSP 教程
- JSP - 标准标签库
- JSP - 数据库访问
- JSP - XML 数据
- JSP-Java Bean
- JSP - 自定义标签
- JSP——表达式语言
- JSP——异常处理
- JSP-调试
- JSP-安全性
- JSP-国际化
- JSP 有用资源
- JSP - 问题与解答
- JSP - 快速指南
- JSP - 有用的资源
- JSP - 讨论
JSP - HTTP 状态代码
在本章中,我们将讨论 JSP 中的 Http 状态代码。HTTP 请求和 HTTP 响应消息的格式相似,并且具有以下结构 -
初始状态行 + 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)组成。
下表列出了可能从 Web 服务器返回的 HTTP 状态代码和相关消息 -
代码 | 信息 | 描述 |
---|---|---|
100 | 继续 | 服务器只收到了部分请求,但只要没有被拒绝,客户端就应该继续请求 |
101 | 切换协议 | 服务器切换协议。 |
200 | 好的 | 请求没问题 |
201 | 已创建 | 请求完成,创建新资源 |
第202章 | 公认 | 请求已接受处理,但处理尚未完成。 |
203 | 非权威信息 | |
204 | 无内容 | |
205 | 重置内容 | |
206 | 部分内容 | |
300 | 多种选择 | 链接列表;用户可以选择一个链接并转到该位置。最多五个地址。 |
301 | 永久搬家 | 请求的页面已移动到新的 URL。 |
第302章 | 成立 | 请求的页面已暂时移动到新的网址。 |
303 | 查看其他 | 可以在不同的 url 下找到请求的页面。 |
304 | 未修改 | |
305 | 使用代理服务器 | |
306 | 没用过 | 该代码在之前的版本中使用过。不再使用,但代码被保留。 |
307 | 临时重定向 | 请求的页面已暂时移动到新的网址。 |
400 | 错误的请求 | 服务器无法理解该请求。 |
401 | 未经授权 | 请求的页面需要用户名和密码。 |
第402章 | 需要付款 | 您还不能使用此代码。 |
403 | 禁止 | 禁止访问所请求的页面 |
404 | 未找到 | 服务器找不到所请求的页面。 |
405 | 不允许的方法 | 请求中指定的方法不被允许。 |
406 | 不能接受的 | 服务器只能生成客户端不接受的响应。 |
407 | 需要代理身份验证 | 您必须先通过代理服务器进行身份验证,然后才能处理此请求。 |
第408章 | 请求超时 | 该请求花费的时间比服务器准备等待的时间要长。 |
409 | 冲突 | 由于冲突,该请求无法完成。 |
410 | 走了 | 请求的页面不再可用。 |
第411章 | 所需长度 | “内容长度”未定义。如果没有它,服务器将不会接受请求。 |
第412章 | 前提条件失败 | 请求中给出的前提条件被服务器评估为 false。 |
第413章 | 请求的实体太大 | 服务器不会接受该请求,因为请求实体太大。 |
第414章 | 请求 url 太长 | 服务器不会接受该请求,因为 url 太长。当您将“post”请求转换为具有长查询信息的“get”请求时,会发生这种情况。 |
第415章 | 不支持的媒体类型 | 服务器将不接受该请求,因为该媒体类型不受支持。 |
第417章 | 期望落空 | |
500 | 内部服务器错误 | 请求未完成。服务器遇到意外情况。 |
501 | 未实现 | 请求未完成。服务器不支持所需的功能。 |
502 | 错误的网关 | 请求未完成。服务器从上游服务器收到无效响应。 |
503 | 暂停服务 | 请求未完成。服务器暂时超载或停机。 |
504 | 网关超时 | 网关已超时。 |
505 | 不支持 HTTP 版本 | 服务器不支持“http协议”版本。 |
设置 HTTP 状态代码的方法
以下方法可用于在 servlet 程序中设置 HTTP 状态代码。这些方法可通过HttpServletResponse对象使用。
编号 | 方法及说明 |
---|---|
1 | 公共无效setStatus(int statusCode) 该方法设置任意状态代码。setStatus 方法采用 int (状态代码)作为参数。如果您的响应包含特殊状态代码和文档,请务必在使用PrintWriter实际返回任何内容之前调用setStatus。 |
2 | 公共无效sendRedirect(字符串网址) 此方法生成 302 响应以及给出新文档 URL 的Location标头。 |
3 | 公共无效sendError(int代码,字符串消息) 此方法发送状态代码(通常为 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>
您将收到以下输出 -
HTTP Status 407 - Need authentication!!!
type Status report
message Need authentication!!!
description The client must first authenticate itself with the proxy (Need authentication!!!).
Apache Tomcat/5.5.29
为了更熟悉 HTTP 状态代码,请尝试设置不同的状态代码及其描述。