重定向:就是浏览器解析到一个状态码,然后又重新请求一次Location
转发:本来请求的是A,但看的是B的内容
共同点;浏览器呈现给我们的都是别的地址的内容
不同点:
重定向:地址发生变化
转发:地址不变
重定向:进行两次请求
转发:进行了一次请求
重定向:可以转到外部站点
转发:不能转到外部站点,只能转到本服务器下的站点
# 转发(forward)
1. 是服务器行为
2. 转发不会改变浏览器url
3. 共享同一个request对象
4. 只能在同一web应用下使用
5. 效率较高
# 重定向(redirect)
1. 是一种客户端的行为
2. 会改变url
3. 不会共享同一个request
4. 可以指向向任意的url
5. 必须是绝对路径
# 总结
- 转发市服务器行为,重定向是客户端行为;从请求次数来说转发只有一次请求,重定向有两次请求;转发共享同一个request对象,重定向会导致request信息丢失;
- 如果跳转到servlet,一般用重定向
- 如果是到jsp页面,因为这里一般会携带处理过的数据来显示在jsp上,所以一般用转发