Java基础之Java Web中 什么是重定向和转发?如何选择使用重定向还是转发?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/baidu_34122324/article/details/85135870

1.重定向和转发的区别是什么?

重定向是两次请求,转发是一次请求,因此转发的速度要快于重定向。

重定向之后地址栏上的地址会发生变化,变化成第二次请求的地址,转发之后地址栏上的地址不会变化,还是第一次请求的地址。

重点:重定向和请求转发之后的代码都会运行,直到方法结束或者遇到了 return 语句


2. 如何选择使用重定向还是转发?

页面跳转建议使用重定向,有内部 Servlet 跳转建议使用转发。

2.1 为什么页面跳转选择使用重定向呢?

  1. 转发请求地址会变化
  2. 转发只能在站内跳转,重定向可以跳转到任意想要的地方

2.2 为什么内部Servlet跳转跳转选择使用转发呢?

如果代码逻辑是 ServletA -> ServletB -> *.jsp ,使用转发,那么这三次操作都在一次请求中,而如果使用重定向,那么客户端将发起三次请求,这真的毫无必要。

如果代码逻辑中含有内部的 Servlet 跳转,使用转发会使一个好的选择。

猜你喜欢

转载自blog.csdn.net/baidu_34122324/article/details/85135870