一、重定向分析
我们已经知道A资源会发送一个响应状态码302(得自己设置)告诉客户端浏览器要去找别的资源,也就是要重定向了!那么,该如何设置重定向到哪个资源呢?
答:用response.setHeader(响应头键,响应头值)来设置响应头location,响应给客户端浏览器即可!
响应头键:location
响应头值:要跳转的资源路径
二、重定向代码实现
1、重定向原始写法
因为每一次都得设置响应状态码为302,每一次都得设置响应头键location,而只有响应头值是不固定的,所以开发者给了一个叫做sendRedirect( String s)方法来直接设置响应头值!
2、*重定向简化写法
直接传入要重定向到哪个资源的路径!
三、重定向的特点与请求转发的区别
重定向(redirect)的特点
- 重定向后浏览器的地址栏会发生变化,变为重定向的那个资源路径
- 重定向中浏览器发送了两次请求,所以无法用request域对象来共享数据
- 重定向可以重定向到其它服务器的资源,比如说可以重定向到百度、B站等
请求转发(forward)的特点
- 请求转发后浏览器的地址栏不会发生变化
- 请求转发中浏览器只发送一次请求,所以可以使用request域对象来共享数据
- 请求转发只能跳转到当前服务器的其它资源,不能跳转到百度或者B站等