一、HttpServletResponse对象
当服务器收到请求的时候,会对每一次请求都创建两个对象
一个对象是request对象,代表请求
另一个对象是response对象,代表响应
获取客户端的数据时通过request对象
而向客户端输出数据就是通过response对象
1.1 常用方法
| 方法 | 描述 |
|---|---|
| addHeader(String name, String value) | 添加指定的键值到响应头信息中 |
| containsHeader(String name) | 判断响应的头部是否被设置 |
| encodeURL(String url) | 编码指定的URL |
| sendError(int sc) | 使用指定状态码发送一个错误到客户端 |
| setHeader(String name, String value) | 设置指定响应头的值 |
| setStatus(int sc) | 给当前响应设置状态 |
| setContentType(String ContentType) | 设置响应的MIME类型 |
| getWriter() | 获取输出字符流 |
| getOutputStream() | 获取输出的字节流 |
在响应中有一个常用的头信息就是刷新指令,可以完成定时刷新的功能
response.setHeader("refresh","2"); //每2秒刷新一次页面
除了可以定时刷新意外,还可以设置定时跳转功能
response.setHeader("refresh","3;URL=check.html"); //3秒后跳转至check.html
但是这种跳转不是万能的,有时候根本就无法进行跳转操作
返回后刷新不会跳转
定时跳转的头信息还可以在html代码中进行设置
<metahttp-equiv="refresh"content="3;http://www.baidu.com"/>
1.2 数据相应
接收到客户端的请求以后,可以直接通过HttpServletResponse对象进行响应
响应时需要获取输出流,获取输出流的方式有两种
一种是getWriter()获取字符流 该种方式只能响应回字符
还有一种是getOutputStream()获取字节流 可以响应所有类型的数据
PrintWriterout=resp.getWriter();
out.write("<h1>HelloWorld</h1>");
ServletOutputStreamout=resp.getOutputStream();
out.write("<h1>HelloWorld</h1>").getBytes());
1.3 乱码解决
响应中可能会出现乱码的问题
乱码的产生是因为客户端和服务端两者的字符编码不一致导致的
getWriter()方式响应时出现乱码的解决方法:
resp.setCharacterEncoding("UTF-8");
resp.setHeader("content-type","text/html;charset=UTF-8");
PrintWriterout=resp.getWriter();
out.write("<h1>Hello</h1>");
getOutputStream()方式响应时出现乱码的解决方法:
resp.setHeader("content-type","text/html;charset=UTF-8");
ServletOutputStreamout=resp.getOutputStream();
out.write("<h1>Hello</</h1>".getBytes("UTF-8"));
通用方式:
resp.setContentType("text/html;charset=utf-8");
需要解决乱码问题,需要两端的字符编码都支持中文
且两端的字符编码一致
1.4 响应图片
public class ImageServlet extends HttpServlet {
pr
最后
以上就是复杂板凳最近收集整理的关于response对象以及cookie的全部内容,更多相关response对象以及cookie内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复