一、
HTTP
响应的格式
响应行:
HTTP
版本、响应码、响应描述
响应头
空行
消息体
HTTP
默认的文本编码为:
ISO-8895-1
二、
响应码的设置
1.
什么是响应码
响应码位于
HTTP
响应的响应行中,他用来描述当前
Servlet
的一些重要信息。常见的响应码有
200.302
,
404
,
500
2.
如何设置响应码
通过
setStatus()
设置状态码,除了
302
和
307
外每个状态码都有一个对应的常量。
特殊的几个状态码设置:
sendError(int code,String info):
用来设置
404
状态码
sendRedirect(String URL):
请求重定向,
302
状态码
3.
响应码的作用
响应码可以把用户重定向到另一个网站(
302
),可以指示出后面附加的文档是什么类型,可以告诉用户必须提供密码等信息(
404
)。
4.
什么是请求重定向
当外部请求到来时,相应的
Servlet
中没有找到对应的资源的时候就会给客户端发送一个别的服务器的
URL
,让客户端去连接这个资源。这种方式要求客户端发送
2
次请求,会极大浪费资源。
三、
设置响应头
1.
什么是
MIME
MIME
就是表示发送到客户端的内容的格式,我们通过设置
MIME
告诉客户端该用什么形式正确显示响应的内容,比如在网页中显示
EXCEL
电子表格。
2.
响应头的作用
HTTP
响应头能够告诉客户端一些比较重要的信息:比如响应的内容类型,内容的长度,响应的时间等。
3.
怎么设置响应头
通过
setHeader
(
String name,String value
)设置响应头。特别的比如:
setContextType(“text/html”)
与
setHeader(“Context-type”,”text/html”)
的功能和意义是一样的,只是后者的写法更加简洁。
四、
设置消息体
1.
消息体的内容
HttpServletResponse
本身返回的是一个空的
Response
对象,其内容是需要我们人为输入的。
2.
消息体的设置
我们一般使用
response.getWrite()
获得字符输出流,利用
response.getOutputStream()
获得字节输出流。下载一般用字节流进行传输,因为图片、音乐等的传播都是通过字节进行传播的。
3.
网页自动刷新和跳转的设置
通过
setHeader
方法实现
Response.setHeader(“Refresh”,”time”,”URL”).
4.
实现下载功能的步骤
首先建立字节输入流和一个数组并将文件读入到数组中
接着
response.setHeader(“Content-disposition”,”attachment;filename=”fileName)
来设置好
MIME
。
最后通过输入出输出。