Http状态代码
1、指定状态码:
setStatus
HttpServletResponse的setStatus方法。如果响应的状态代码比较特殊,并且伴有相关的文档内容,那么一定要在用PrintWriter实际返回任何内容之前调用setStatus,因为没有明确规范规定servlet一定要一个空行、因此,必须在使用PrintWriter之前设置状态代码,或者在设置状态代码时,仔细核实缓冲区尚未被清楚,内容尚未实际发往浏览器。
setStatus最好不要直接设置明确的数字,而使用HttpServletResponse中定义的常量。

sendRedirect和sendError
HttpServletResponse专为两种常见的情况提供了快捷方法。两个方法都抛出IOException。
public void sendRedirect(String url)
状态码302命令连接到新的位置。sendRedirect生成302响应以及Location报头
public void sendEoor(int code, String message)
状态码404用于服务器没有找到文档的情况。sendError方法发送状态代码以及一段简短的消息,这段消息被自动安排到HTML中发送给客户。

2、状态码
100-199:10~199间的代码都是信息性的,标示客户应该采取的其他动作
200-299:200~299间的值表示成功
300-399: 300~399间的值用于那些已经移走的文件,常常包括Location报头,指出新的地址
400-499: 400~499间的值标示由客户引发的错误
500-599:500~599表示由服务器引发的错误
常见码:
100:Continue继续
200:OK,一切正常
202:Accepted,已接受
204:No Content,没有新文档
205:Reset Content,重置内容
301:Moved Permanently,被永久移动
302:Found,找到
有一个专门的方法,sendRedirect,用response.setStatus(),以及response.setHeader("Location",url)相比,使用response.sendRedirect(url)有许多优点。首先,他更简短,使用也更容易。其次,使用sendRedirect(url)时,servlet自动构建含有链接的页面,引导那些不能自动跟重定向信息的老版本浏览器。最后sendRedirect还可以处理相对URL,自动将它们转换成对应的绝对URL。
技术上一般认为仅当最初的请求为GET时,浏览器才应自动执行重定向。
303:See Other,检查其他文档
304:Not Modified,未发生更改
307:Temporary Redirect,临时重定向
400:Bad Request,错误请求
401:Unauthorized,未授权
403:Forbidden,资源不可用
404:Not Found,未找到
405:Method Not Allowed,方法不允许
415:Unsupported Media type不支持的媒体类型
417:Expectation Failed,期望不能满足
500:Internal Server Error,服务器内部错误
501:Not Implemented,未实现
503:Service Unavailable,服务不可用
505:Http Version Not Supported,不支持的HTTP版本

3、将用户重定向到浏览器相关页面的servlet

Http响应报头的生成:
最通用的方法是HttpServletResponse.setHeader方法
setHeader(String headerName, String headerValue)
除了通用的setHeader方法之外,HttpServletResponse还有两个专门的方法,用来设置含有日期和整数的报头:
setDateHeader(String header, long milliseconds)
setIntHeader(String header, int headerValue)
HTTP允许相同的报头多次出现,有时候我们希望加入新的报头,而非替换已有的同名报头。可以使用containsHeader进行检查。
HttpServletResponse还提供许多方便的方法来指定常用的报头:
setContentType
setContentLength
addCookie
sendRedirect
理解Http响应报头:
allow:指定服务器支持的请求方法
cache-control:这个报头告诉浏览器或其他客户,什么环境可以安全地缓存文档
public 文档可以缓存

http指定状态码的更多相关文章

  1. 选择一个 HTTP 状态码不再是一件难事 – Racksburg

    原文链接:http://racksburg.com/choosing-an-http-status-code/ 打开双语对照阅读 有什么能比 HTTP 响应状态码更简单呢?页面渲染了吗?好极了,返回  ...

  2. JavaWeb_Day10_学习笔记1_response(3、4、5、6、7、8、9)发送状态码、响应、重定向、定时刷新、禁用浏览器缓存、响应字节数据、快捷重定向方法、完成防盗链

    今天学习重点: 1.response和request响应和应答分别学习: 请求响应流程图 response 1        response概述 response是Servlet.service方法 ...

  3. Javaweb学习笔记——(十)——————response对象,response字符流缓冲器,响应头,状态码,重定向,requset对象,路径和乱码

    请求响应对象: request和response *当服务器接收都请求后,服务器会创建request和response对象,把请求数据封装到request对象中: *然后调用Servlet的sevic ...

  4. 选择一个 HTTP 状态码不再是一件难事 – Racksburg《转载》

    本文转载自:众成翻译 译者:十年踪迹 链接:http://www.zcfy.cc/article/904 原文:http://racksburg.com/choosing-an-http-status ...

  5. Http状态码之:301、302重定向

    概念 301 Moved Permanently 被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一.如果可能,拥有链接编辑功能的客户端应当自动把请求的地 ...

  6. HTTP常用状态码分析

    不管是面试还是工作中,经常会碰到需要通过HTTP状态码去判断问题的情况,比如对于后台RD,给到前端FE的一个接口,出现502或者504 error错误,FE就会说接口存在问题,如果没有知识储备,那就只 ...

  7. Java发送Http请求并获取状态码

    通过Java发送url请求,查看该url是否有效,这时我们可以通过获取状态码来判断. try { URL u = new URL("http://10.1.2.8:8080/fqz/page ...

  8. HTTP各状态码解释

      状态码 含义 100 客户端应当继续发送请求.这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝.客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应.服务器必 ...

  9. HTTP状态码(HTTP Status Code)

    一些常见的状态码为: 200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务不可用 所有状态解释: 1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码. 代码 说 ...

随机推荐

  1. 51nod 1083 矩阵取数问题

    就很简单很简单的dp 只能从右或者从下走 所以  dp方程直接看下面公式吧  反正也不难 #include<bits/stdc++.h> using namespace std; ; in ...

  2. spring boot 多数据源分布式事务处理

    有参考文章 ,但是自己没有测试.

  3. Unity3D学习笔记(四):物理系统碰撞和预制体

    Rigidbody(刚体组件):加了此组件游戏物体就变成刚体了 ----Mass(质量,单位kg):重力G = 质量m * 重力加速度g(g=9.81 m/s^2) --------冲量守恒定理 动量 ...

  4. map/multimap_01

    标准的关联式容器 键值对序列 基于key的快速检索能力 key按序排列,按序插入 红黑树变体的平衡二叉树 对key来说支持 mapT[key] 和 mapT.at(key) multimap 不支持  ...

  5. Java成神之路技术整理

    关于 Java 的技术干货,从以下几个方面汇总. Java 基础篇 Java 集合篇 Java 多线程篇 Java JVM篇 Java 进阶篇 Java 新特性篇 Java 工具篇 Java 书籍篇 ...

  6. jq 便捷api jq 常用 api jq 快捷 api

    jq  选择器 1.相对值用法  width("+=250px") $("input").width("+=250px"); 2.使用函数来 ...

  7. 原生js的博客

    原生js一里边还有很多二三等http://www.cnblogs.com/charling/p/3527561.html 选区器 http://wenku.baidu.com/link?url=zr2 ...

  8. Python 爬虫-Scrapy框架基本使用

    2017-08-01  22:39:50 一.Scrapy爬虫的基本命令 Scrapy是为持续运行设计的专业爬虫框架,提供操作的Scrapy命令行. Scrapy命令行格式 Scrapy常用命令 采用 ...

  9. Linux系统基本常识

    在虚拟机里装一个Linux(centos),有时间可以装个mac玩一下.(使用centos或者Ubuntu时安装软件将会非常方便) ifconfig –a 显示当前Linux主机的 ip 地址 如何让 ...

  10. ArcGis For Silverlight API,地图显示Gis,绘制点,线,绘制图等--绘制点、线、圆,显示提示信息

    ArcGis For Silverlight API,地图显示Gis,绘制点,线,绘制图等--绘制点.线.圆,显示提示信息 /// <summary> /// 绘制界面上的点和线 ///  ...