文章目录
一、功能
设置响应消息
1.设置响应行
- 格式:
HTTP/1.1 200OK
- 设置状态码:
setStatus(int sc)
2.设置响应头
setHeader(String name, String value)
3.设置响应体
- 使用步骤
- 1.获取输出流:
- 字符输出流:
PrintWriter getWriter()
- 字节输出流:
ServletOutputStream getOutputStream()
- 字符输出流:
- 2.使用输出流,将数据输出到客户端浏览器
- 1.获取输出流:
二、实现重定向
一种常见的资源跳转方式‘’
1.方法1
- 1.设置状态码为302:
- 2.设置响应头location
//1.设置状态码302
response.setStatus(302);
//2.设置响应头
response.setHeader("location", "/response/responseDemo2");
2.方法2:简单的重定向
response.sendRedirect("/response/responseDemo2");
3.重定向的特点
对比
转发
的特点
重定向(redirect) | 转发(forward) |
---|---|
地址栏发生变化 | 地址栏路径不变 |
可以访问其他站点(服务器)的资源 | 只能访问当前服务器的资源 |
两次请求,不能用request 来共享数据 |
一次请求,可以用request 对象来共享数据 |
3.1实验验证
- 地址栏发生变化
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190814103926645.png
- 可以访问其他站点资源
@WebServlet("/responseDemo1")
public class ResponseDemo1 extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("demo1.......");
response.sendRedirect("http://www.baidu.com");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}<