版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/baidu_34122324/article/details/85135870
1.重定向和转发的区别是什么?
重定向是两次请求,转发是一次请求,因此转发的速度要快于重定向。
重定向之后地址栏上的地址会发生变化,变化成第二次请求的地址,转发之后地址栏上的地址不会变化,还是第一次请求的地址。
重点:重定向和请求转发之后的代码都会运行,直到方法结束或者遇到了 return 语句
2. 如何选择使用重定向还是转发?
页面跳转建议使用重定向,有内部 Servlet 跳转建议使用转发。
2.1 为什么页面跳转选择使用重定向呢?
- 转发请求地址会变化
- 转发只能在站内跳转,重定向可以跳转到任意想要的地方
2.2 为什么内部Servlet跳转跳转选择使用转发呢?
如果代码逻辑是 ServletA -> ServletB -> *.jsp ,使用转发,那么这三次操作都在一次请求中,而如果使用重定向,那么客户端将发起三次请求,这真的毫无必要。
如果代码逻辑中含有内部的 Servlet 跳转,使用转发会使一个好的选择。