java请求转发和重定向异同

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huanyinghanlang/article/details/79051715
区别:
1.请求次数不同。
请求转发整个跳转请求一次。
重定向整个跳转请求两次。
2.地址是否变化
请求转发地址栏不发生变化。
重定向地址栏发生变化。
3.语法不同。
请求转发:req.getRequestDispatcher("请求地址").forward(req,resp);
重定向:resp.sendRedirect("请求地址");
4.跳转位置不同
请求转发:服务器内部进行跳转。
重定向:浏览器端进行跳转。
5.是否可以访问服务器外部资源
请求转发:不能访问。
重定向:能够访问。
6.执行效率不同。
请求转发:执行效率高。
重定向:效率相对低。
7.刷新是否表单重复提交
请求转发:会发生表单重复提交
重定向:不会发生表单重复提交
8.请求地址前加“/”
请求转发:项目根目录下查找资源  http://localhost:8080/uwo9/
重定向:服务器根目录下查找资源  http://localhost:8080
9.是否经过过滤器
请求转发:不经过过滤器
重定向:经过过滤器
共同点:
1.都可以实现程序自动跳转。
2.请求转发和重定向之后的语句都会被执行。在跳转语句后需要加return;

 

猜你喜欢

转载自blog.csdn.net/huanyinghanlang/article/details/79051715