Java Web 第三天 Servlet处理响应

一、 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

最后通过输入出输出。

你可能感兴趣的:(java,Web,servlet,Excel,音乐)