HttpServletResponse
Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象、和代表响应的response对象。
request和response对象即然代表请求和响应,那我们要获取客户机提交过来的数据,只需要找request对象就行了。要向客户机输出数据,只需要找response对象就行了。
HttpServletResponse对象代表服务器的响应。这个对象中封装了向客户端发送数据、发送响应头,发送响应状态码的方法.
响应行 : 响应的状态码 200 http协议1.1
响应头 : 告诉浏览器我要做什么操作 告诉浏览器你需要使用什么编码格式来解析我的响应
响应体 : 响应浏览器的内容
public class Demo07 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// tomcat 默认的编码格式 iso-8859-1
// response.setCharacterEncoding("UTF-8");
// 设置响应头(告诉浏览器使用什么格式解析数据)
// response.setHeader("Content-type", "text/html;charset=UTF-8");
// 二和一写法(之后再写servlet 第一个就写这个)
response.setContentType("text/html;charset=UTF-8");
// 接到请求后 向浏览器中写个字符串
// 通过响应对象response 中的流对象回写
// 注意: 如果你当前在servlet中使用字符流 那么就不能再使用字节流 只能使用一个
PrintWriter writer = response.getWriter();
writer.write("n");
ServletOutputStream outputStream = response.getOutputStream();
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
1.设置刷新时间refresh
// 每隔一秒刷新页面
response.setIntHeader(“refresh”, 1);
// 3秒后跳转一个页面
response.setHeader(“refresh”, “3;url=/sh-web-02/demo10”);
//单位是秒
2.文件下载
response.setHeader(“content-disposition”, “attachment;filename=”+filename);
response.setHeader(“content-type”,”image/jpeg”);
3.设置重定向Location
// 请求重定向 响应头
// 参数2 重定向的路径(站内 站外的网址都可以)
// 填站内的路径 需要带工程名
// 请求重定向 是两次请求 第二次请求是接到第一次请求的响应头之后发生的
// response.setHeader("location", "/sh-web-02/demo10");
response.setHeader("location", "http://www.baidu.com");
// 添加状态码302
response.setStatus(302);