请求转发:forward:
![](https://i-blog.csdnimg.cn/blog_migrate/b3c9eb661f4d2e2273b5edb9bb729879.png)
重定向:redirect
![](https://i-blog.csdnimg.cn/blog_migrate/5589cb75f2e92a654df61e305b2cd052.png)
转发:
由服务器的页面进行跳转,不需要客户端重新发送请求:
特点如下:
1、地址栏的请求不会发生变化,显示的还是第一次请求的地址
2、请求的次数,有且仅有一次请求
3、请求域中的数据不会丢失
4、根目录:localhost:8080/项目地址/,包含了项目的访问地址
![](https://i-blog.csdnimg.cn/blog_migrate/6da924000627ce038fe6040eca3b39d5.png)
重定向:
在浏览器端进行页面的跳转,需要发送两次请求(第一次是人为的,第二次是自动的)
特点如下:
1、地址栏的地址发生变化,显示最新发送请求的地址
2、请求次数:2次
3、请求域中的数据会丢失,因为是不同的请求
4、根目录:localhost:8080/ 不包含项目的名称
![](https://i-blog.csdnimg.cn/blog_migrate/4d3c19ac924a025be49e6462e37d6583.png)
对比:
区别 | 转发forward() | 重定向sendRedirect() |
根目录 | 包含项目访问地址 | 没有项目访问地址 |
地址栏 | 不会发生变化 | 会发生变化 |
哪里跳转 | 服务器端进行的跳转 | 浏览器端进行的跳转 |
请求域中数据 | 不会丢失 | 会丢失 |