Response
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Response相关的知识,希望对你有一定的参考价值。
响应
一.组成部分:
响应行 响应头 响应体
1.操作 响应行
格式:
协议/版本 状态码 状态码说明
状态码:
1xx:已发送请求
2xx:已完成响应
200:正常响应
3xx:还需浏览器进一步操作
302:重定向 配合响应头:location
304:读缓存
4xx:用户操作错误
404:用户操作错误.
405:访问的方法不存在
5xx:服务器错误
500:内部异常
常用方法:
setStatus(int 状态码):针对于 1 2 3 sendError(int 状态码):针对于 4xx和5xx
2.操作响应头
格式:key/value(value可以是多个值)
常用的方法:
☆☆☆☆setHeader(String key,String value):设置字符串形式的响应头 setIntHeader(String key,int value):设值整形的响应头 setDateHeader(String key,long value):设值时间的响应头 ☆☆☆☆addHeader(String key,String value):添加置字符串形式的响应头 之前设置过则追加,若没有设置过则设置 addIntHeader(String key,int value):添加整形的响应头 addDateHeader(String key,long value):添加时间的响应头
常用的响应头:
location:重定向
refresh:定时刷新
content-type:设置文件的mime类型,设置响应流的编码及告诉浏览器用什么编码打开
content-disposition:文件下载
重定向:
response.sendRedirect(url);
定时刷新:
方案1:设置头 refresh 昨天做过
respooen.setHeader("refresh","秒数;url=跳转的路径");
方案2:http的meta标签
<meta http-equiv="refresh" content="3;url=/day10/refresh2.html">
3.操作响应体:
常用方法:
Writer getWriter():字符流
ServletOutputStream getOutputStream() :字节流
自己写的东西用字符流,其他一概用字节流.
处理响应中文乱码:
response.setContentType("text/html;charset=utf-8");
注意:
两个流互斥
当响应完成之后,服务器会判断一下流是否已经关闭,若没有关闭,服务器会帮我们关闭.(底层使用的缓冲流)
以上是关于Response的主要内容,如果未能解决你的问题,请参考以下文章