Servlet HTTP 状态码
来源:互联网 发布:淘宝专业删差评 编辑:程序博客网 时间:2024/05/22 18:20
HTTP 请求和 HTTP 响应消息的格式是类似的,结构如下:
- 初始状态行 + 回车换行符(回车+换行)
- 零个或多个标题行+回车换行符
- 一个空白行,即回车换行符
- 一个可选的消息主体,比如文件、查询数据或查询输出
例如,服务器的响应头如下所示:
HTTP/1.1 200 OKContent-Type: text/htmlHeader2: ......HeaderN: ... (Blank Line)<!doctype ...><html><head>...</head><body>...</body></html>
状态行包括 HTTP 版本(在本例中为 HTTP/1.1)、一个状态码(在本例中为 200)和一个对应于状态码的短消息(在本例中为 OK)。
以下是可能从 Web 服务器返回的 HTTP 状态码和相关的信息列表:
设置 HTTP 状态代码的方法
下面的方法可用于在 Servlet 程序中设置 HTTP 状态码。这些方法通过 HttpServletResponse 对象可用。
该方法设置一个任意的状态码。setStatus 方法接受一个 int(状态码)作为参数。如果您的反应包含了一个特殊的状态码和文档,请确保在使用 PrintWriter 实际返回任何内容之前调用 setStatus。2public void sendRedirect(String url)
该方法生成一个 302 响应,连同一个带有新文档 URL 的 Location 头。3public void sendError(int code, String message)
该方法发送一个状态码(通常为 404),连同一个在 HTML 文档内部自动格式化并发送到客户端的短消息。
HTTP 状态码实例
下面的例子把 407 错误代码发送到客户端浏览器,浏览器会显示 "Need authentication!!!" 消息。
// 导入必需的 java 库import java.io.*;import javax.servlet.*;import javax.servlet.http.*;import java.util.*;// 扩展 HttpServlet 类public class showError extends HttpServlet { // 处理 GET 方法请求的方法 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 设置错误代码和原因 response.sendError(407, "Need authentication!!!" ); } // 处理 POST 方法请求的方法 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); }}
现在,调用上面的 Servlet 将显示以下结果:
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
0 0
- Servlet HTTP 状态码
- Servlet HTTP 状态码
- Servlet HTTP 状态码
- Servlet之HTTP状态码
- Servlet之HTTP状态码
- 【复习】servlet之Http状态码
- servlet之HTTP状态码知识
- HTTP-HTTP状态码
- 【HTTP】HTTP状态码
- HTTP:HTTP状态码
- servlet与http协议状态相关资料
- servlet-4 状态码
- HTTP就绪状态和HTTP状态码
- Servlet学习日记(二)——405错误解决及各种http状态码总结
- Http状态码
- HTTP所有状态码
- http状态码列表
- HTTP协议状态码
- Servlet 服务器 HTTP 响应
- getHibernateTemplate().saveOrUpdate(t)可以插入不能更新
- Shell学习小结 - 深入认识变量
- MyBatis总结——加载mappers映射文件的三种方式
- Rxjava 封装异步回调代码, 新时代来临
- Servlet HTTP 状态码
- Java程序员岗位需求分析及人才标准的研究
- Servlet 编写过滤器
- 打印所有的汉字
- 1922: [Sdoi2010]大陆争霸
- 3.3V到4.50V版本下载地址
- Python3.5学习笔记
- 工作第十四周:整理收藏夹、旧文章有感
- CentOS安装Node.js、Express和Socket.io