HttpServletResponse概述
我们在创建Servlet时会覆盖service()方法,或doGet()/doPost(),这些方法都有两个参数,一个为代表请求的request和代表响应response。
service方法中的response的类型是ServletResponse,而doGet/doPost方法的response的类型是HttpServletResponse,HttpServletResponse是ServletResponse的子接口,功能和方法更加强大
方法
状态码相关(响应行)
- setStatus(int status)
设置HTTP响应消息的状态码,并生成响应状态行
响应消息头方法
- void addHeader(String name,String value)
void setHeader(String name,String value)
设置HTTP响应头消息
name 名称
value 响应头字段 - void addIntHeader(String name,int value)
void SetIntHeader(String name,int value)
设置包含整数值得响应头 - void setContentLength(int len)
设置响应消息的实体内容的大小 - void setContentType(String type)
输出MIME类型 - void setLocale(Locale loc)
设置响应消息的本地化消息 - void setCharacterEncoding(String charset)
设置输出内容使用的字符编码 - void addCookie(cook)
设置Cookie响应消息体方法
- getOutputStream()
获取字节输出流对象ServletOutputStream - getWriter()
获取字符输出流对象PrintWriter重定向操作
- sendRedirect(跳转的路径)
可以自行跳转,跳转之后地址栏发生了变化,这种跳转是重定向跳转,也就是客户端跳转
文件下载原理
通过设置文件的路径和HTTP协议中设置两个响应消息头
- Content-Disposition:attachment;filename=w文件名
- Content-type: application/x-msdownload
通过这两个响应消息头字段来指定接收程序处理数据内容的方式为下载方式