response.get.write后加return防止页面跳转
RESPONSE中分为三个部分
- 响应行
- 响应头
- 响应体
- 响应行数据
响应对应http版本 响应状态码 响应码描述
响应状态码是描述响应状态,描述本次响应和请求的状态
状态码都是三位数字,
1XX:服务接受客户端消息不够多,询问客户端
2XX:代表成功代表申请资源成功
3XX:302代表请求转发,你来XX大厦办事,我办不了,但是给你一个地址,你去这里办一个试试
304代表访问缓存,代表请求XX资源,但是XX资源在缓存中是存在的
4XX:客户端错误,一般申请路径有错误没有对应资源,你来找不存在的资源
5XX:服务端错误,服务器内部出现异常
响应头
也是KV模式的
1.Content-Type:高速浏览器我设置的响应编码和解码方式
2.Content-disposition:服务器告诉客户端,用什么格式打开响应体。
默认是in-line在页面中去打开
attchment相当于文件下载,以附件形式下载
响应体:
你写到页面上的数据
response中的相应行中,你能设置而且有必要设置的大概也就是状态吗这个东西了setStatus
响应头里面你能设置的setHeader(String name ,String value)
4. http响应头信息详解
类似于请求消息中的请求头,其格式和请求头信息格式一样,即响应头:响应头值。
1). Server :该响应头是服务器告诉浏览器,当前响应的服务类型和版本。
2). Content-Type响应头:服务器告诉浏览器响应内容是什么类型,以及采用的是什么字符编码。该响应头的值现在为:text/html;charset=utf-8。说明响应信息的类型是文本类型中的html,使用的字符编码是utf-8。
3). Content-Length响应头:服务器告诉浏览器,Content-Length响应头表明了响应实体的大小,该响应内容的长度现在是312个字节。
4). Date响应头:表示是服务器是在什么时候响应回浏览器,注意这里的时间是按照美国时间来计算。
5). Accept-Ranges: bytes - 该响应头表明服务器支持Range请求,以及服务器所支持的单位是字节(这也是唯一可用的单位).我们还能知道:服务器支持断点续传,以及支持同时下载文件的多个部分,也就是说下载工具可以利用范围请求加速下载该文件.Accept-Ranges: none 响应头表示服务器不支持范围请求.
6). Last-Modified:服务器上文件的最后修改时间
其中,Content-Type响应头:服务器告诉浏览器响应内容是什么类型,以及采用的是什么字符编码。该响应头的值现在为:text/html;charset=utf-8。说明响应信息的类型是文本类型中的html,使用的字符编码是utf-8。
这个响应头是经常使用的
response设置响应头:(add是添加,set是进行设置)
addHeader(String name, String value)
addIntHeader(String name, int value)
addDateHeader(String name, long date)
setHeader(String name, String value)
setDateHeader(String name, long date)
setIntHeader(String name, int value)
response设置响应体:
响应体设置文本
PrintWriter getWriter()
获得字符流,通过字符流的write(String s)方法可以将字符串设置到response 缓冲区中,随后Tomcat会将response缓冲区中的 内容组装成Http响应返回给浏览 器端。
关于设置中文的乱码问题
原因:response缓冲区的默认编码是iso8859-1,此码表中没有中文