response 对象和 request 对象相对应,主要用于响应客户端请求,将处理信息返回到客户端
| 方法 | 描述 |
|---|---|
| 设置 | |
| void setBufferSize(int size) | 设置响应体的缓存区大小 |
| void setContentType(String type) | 设置响应的内容的类型,如果响应还未被提交的话 |
| void setCharacterEncoding(String charset) | 指定响应的编码集(MIME字符集),例如UTF-8 |
| void setContentLength(int len) | 指定HTTP servlets中响应的内容的长度,此方法用来设置 HTTP Content-Length 信息头 |
| void setDateHeader(String name, long date) | 使用指定名称和日期设置响应头的名称和日期 |
| void setHeader(String name, String value) | 使用指定名称和值设置响应头的名称和内容 |
| void setIntHeader(String name, int value) | 指定 int 类型的值到 name 标头 |
| void setLocale(Locale loc) | 设置响应的语言环境,如果响应尚未被提交的话 |
| void setStatus(int sc) | 设置响应的状态码 |
| 添加 | |
| void addCookie(Cookie cookie) | 添加指定的cookie至响应中 |
| void addDateHeader(String name, long date) | 添加指定名称的响应头和日期值 |
| void addHeader(String name, String value) | 添加指定名称的响应头和值 |
| void addIntHeader(String name, int value) | 添加指定名称的响应头和int值 |
| 返回 | |
| boolean containsHeader(String name) | 返回指定的响应头是否存在 |
| boolean isCommitted() | 返回响应是否已经提交到客户端 |
| 编码 | |
| String encodeRedirectURL(String url) | 对sendRedirect()方法使用的URL进行编码 |
| String encodeURL(String url) | 将URL编码,回传包含Session ID的URL |
| 其它 | |
| void flushBuffer() | 将任何缓存中的内容写入客户端 |
| void reset() | 清除任何缓存中的任何数据,包括状态码和各种响应头 |
| void resetBuffer() | 清除基本的缓存数据,不包括响应头和状态码 |
| void sendError(int sc) | 使用指定的状态码向客户端发送一个出错响应,然后清除缓存 |
| void sendError(int sc, String msg) | 使用指定的状态码和消息向客户端发送一个出错响应 |
| void sendRedirect(String location) | 使用指定的URL向客户端发送一个临时的间接响应 |
对服务器响应进行重新编码,即jsp的输出流在浏览器中显示的编码,与<%@ page contentType=“text/html;charset=UTF-8″%>一样
response.setContentType("text/html;charset=gbk")
对服务器响应进行重新编码,即jsp的输出流在浏览器中显示的编码,与<%@ page contentType=“text/html;charset=UTF-8″%>一样
request.setCharacterEncoding("UTF-8");
response.setHeader(“Content-Type”,”text/html;charset=UTF-8″); 与标签含义同 <META http-equiv=“Content-Type” content=“text/html; charset=UTF-8″>
1.文件下载,指定默认名
Response.AddHeader("content-type","application/x-msdownload");// 限制类型
Response.AddHeader("Content-Disposition","attachment;filename=文件名.rar");// 下载后的文件名称
2.刷新页面(60秒后自动跳转)
Response.AddHeader (“REFRESH”, ”60”);//本页刷新
Response.AddHeader (“REFRESH”, ”60;URL=index.html”);//本站定时跳转
Response.AddHeader (“REFRESH”, ”60;URL=http://www.baidu.com”);//外站定时跳转
这等同于客户机端<META>元素:
<META HTTP-EQUIV=”REFRESH”, “60;URL=index.html”>
1.创建一个Cookie对象
Cookie cookie = new Cookie("key" , "value") ;
2.设置cookie时效
cookie.setMaxAge(60*60*24);//24小时后失效
cookie.setMaxAge(-1);//关闭即消失
3.将cookie加入http响应头,效果就是,添加后网址后面会跟上URL=.............后面省略号就是cookie值
response.addCookie(cookie);
1.重定向响应
response.sendRedirect("http://www.mrbccd.com");