概述
一、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所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复