一,HTTP响应的格式
web服务器对客户端的响应一般包含:一个状态行,一些响应报头,一个空行和相应的文档构成。
1,状态行:
状态行由HTTP版本,一个状态代码以及一段对应状态代码的简短消息组成,表示请求是否被理解或被满足。HTTP版本由服务器决定。状态码一般由系统自动设置为200。也可以用Servlet设置状态码。消息巍峨自定义。
2,响应报。
3,空行
4,文档
二,如何设置状态代码
在向客户程序发送任何文档内容之前调用方法设置状态代码。
使用HttpServletResponse接口的setStatus,sedRedirect或sendError方法设置状态码。
状态代码由3位数字组成,第一个数字定义了响应的类别,后面两位数字没有具体的分类。
在servlet中使用HttpServletResponse中定义的常量来引用状态代码。
1,设置任意状态代码:setStatus(int)方法
在用PrintWriter实际返回如何内容之前调用setstatus方法。
参数可以为int类型状态代码,也可以为HttpServletResponse中定义的常量。
2,设置302和404状态代码:sendRedirect(String url)和sendError(int code,String msg)方法。 二者抛出IOException。
状态代码302命令浏览器连接到新的url。sendRedirect方法生成302响应及Location报头,给出新的url放入Location报头之前,系统自动将相对url转换为绝对url。
状态代码404用于服务器没有找到文档的情况。sendError方法发送状态代码及小段简短信息,信息被自动安排在HTML文档中发送给用户。
三,状态代码的作用
view plaincopy to clipboardprint?
1,HTTP1.1中可用的特定状态码
100-199:信息性的标示用户应该采取的其他动作。
200-299:表示请求成功。
300-399:用于那些已经移走的文件,常常包括Location报头,指出新的地址。
400-499:表明客户引发的错误。
500-599:由服务器引发的错误。
2,Servlet与客户端交互使用的重要状态代码。
100(Continue,继续):表示客户端程序在询问是否可以在随后的请求中向服务器发送附加文档。服务器使用100(SC_CONTINUE)表示继续,417(SC_EXPECTATION_FAILED)表示不接受该附件。
200(OK, 一切正常):200(SC_OK)表示一切正常。
202(Accepted,已经接受):202(SC_ACCEPTED)请求已经接受,但处理没有完成。
204(No Content,没有新文档):204(SC_NO_CONTENT)由于没有新的文档供显示,继续显示之前的文档。
205(Rest Content,重置内容):205(SC_REST_CONTENT)表示没有新的文档,但浏览器应该重置文档视图。用来指示浏览器清除表单的字段。
相关专题
- Java远程通讯的6种可选技术及原理 (279次浏览)
- struts2 + spring + hibernate 实现CRUD (217次浏览)
- Spring 与 Log4J 进行动态日志配置切换 (182次浏览)
- 初学者对Hibernate的学习方法 (168次浏览)
- Hibernate的映射关联关系 (154次浏览)
- MyEclipse搞定hibernate的web应用 (104次浏览)
- 多动鼠标少动脑,Java报表工具的简约之美 (92次浏览)
- 多种计时器的比较与分析 (90次浏览)
- 没有父类的Java Class是如何从Object继承的 (88次浏览)
- JAVA Calendar方法详解 (87次浏览)



