SpringMVC请求转发和重定向
请求转发:forward:

重定向:redirect

转发:
由服务器的页面进行跳转,不需要客户端重新发送请求:
特点如下:
1、地址栏的请求不会发生变化,显示的还是第一次请求的地址
2、请求的次数,有且仅有一次请求
3、请求域中的数据不会丢失
4、根目录:localhost:8080/项目地址/,包含了项目的访问地址

重定向:
在浏览器端进行页面的跳转,需要发送两次请求(第一次是人为的,第二次是自动的)
特点如下:
1、地址栏的地址发生变化,显示最新发送请求的地址
2、请求次数:2次
3、请求域中的数据会丢失,因为是不同的请求
4、根目录:localhost:8080/ 不包含项目的名称

对比:
区别 |
转发forward() |
重定向sendRedirect() |
根目录 |
包含项目访问地址 |
没有项目访问地址 |
地址栏 |
不会发生变化 |
会发生变化 |
哪里跳转 |
服务器端进行的跳转 |
浏览器端进行的跳转 |
请求域中数据 |
不会丢失 |
会丢失 |