一、重定向分析

QQ图片20200710094113.png

我们已经知道A资源会发送一个响应状态码302(得自己设置)告诉客户端浏览器要去找别的资源,也就是要重定向了!那么,该如何设置重定向到哪个资源呢?

答:用response.setHeader(响应头键,响应头值)来设置响应头location,响应给客户端浏览器即可!

响应头键:location

响应头值:要跳转的资源路径


二、重定向代码实现

1、重定向原始写法

QQ图片20200710110333.png
因为每一次都得设置响应状态码为302,每一次都得设置响应头键location,而只有响应头值是不固定的,所以开发者给了一个叫做sendRedirect( String s)方法来直接设置响应头值!

2、*重定向简化写法

QQ图片20200710110610.png

直接传入要重定向到哪个资源的路径!


三、重定向的特点与请求转发的区别

重定向(redirect)的特点

  1. 重定向后浏览器的地址栏会发生变化,变为重定向的那个资源路径
  2. 重定向中浏览器发送了两次请求,所以无法用request域对象来共享数据
  3. 重定向可以重定向到其它服务器的资源,比如说可以重定向到百度、B站等

请求转发(forward)的特点

  1. 请求转发后浏览器的地址栏不会发生变化
  2. 请求转发中浏览器只发送一次请求,所以可以使用request域对象来共享数据
  3. 请求转发只能跳转到当前服务器的其它资源,不能跳转到百度或者B站等