目录
一、Response设置响应数据功能介绍
HTTP响应数据总共分为三部分内容,分别是响应行、响应头、响应体,对于这三部分内容的数据, respone对象提供了以下方法来进行设置
- 响应行
对于响应头,比较常用的就是设置响应状态码:
void setStatus(int sc);
- 响应头
设置响应头键值对:
void setHeader(String name,String value);
- 响应体
对于响应体,是通过字符、字节输出流的方式往浏览器写,
获取字符输出流:PrintWriter getWriter();
获取字节输出流:ServletOutputStream getOutputStream();
二、Response请求重定向
Response重定向(redirect):一种资源跳转方式
2.1 重定向的实现方式
resp.setStatus(302); resp.setHeader("location","资源B的访问路径"); //重定向 //1.设置响应状态码 response.setStatus(302); //2.设置响应头 Location response.setHeader("Location","/request_demo/resp2"); //简化方式完成重定向 response.sendRedirect("/request_demo/resp2");
2.2 重定向的特点
- 浏览器地址栏路径发送变化 当进行重定向访问的时候,由于是由浏览器发送的两次请求,所以地址会发生变化。
- 可以重定向到任何位置的资源(服务内容、外部均可) 因为第一次响应结果中包含了浏览器下次要跳转的路径,所以这个路径是可以任意位置资源。
- 两次请求,不能在多个资源使用request共享数据 因为浏览器发送了两次请求,是两个不同的request对象,就无法通过request对象进行共享数 据
2.3 请求重定向和请求转发对比
2.4 路径问题