response.sendRedirect()和request.getRequestDispatcher().forward(request,response)使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了response.sendRedirect()和request.getRequestDispatcher().forward(request,response)使用相关的知识,希望对你有一定的参考价值。

我想知道二者之间的区别,用哪个比较好,还是分情况讨论,最好说的通俗易懂!

* 请求转发与重定向的区别
* 1.请求转发数据不会丢失,重定向数据会丢失
* 2.请求转发URL地址栏不变,重定向URL地址栏变化可以防止表单重复提交
* 3.请求转发不加上web项目名称,重定向需要加上web项目名
* 4.请求转发只能在一个web应用程序内转发,重定向可以到其他应用程序
* 5.请求转发后面调用的方法类别和前面的相同,重定向会全部变为get方法,和前面没有关系
* 请求转发是一次请求,重定向为多次请求生成多个request对象,但是form表单第一次如果是post方法
* 当重定向是,再次生成新的request时,则变成默认的doget方法
参考技术A 1:重定向response.sendRedirect()不能传递参数,重定向可以
2:请求转发只能在一个WebApp里面进行,而重定向可以转到其他的WebApp
根据这两个区别你就可以选择在什么情况下用哪个更好了

以上是关于response.sendRedirect()和request.getRequestDispatcher().forward(request,response)使用的主要内容,如果未能解决你的问题,请参考以下文章

response.sendRedirect()和request.getRequestDispatcher().forward(request,response)的区别

求教: response.sendRedirect(""); 的用法!!

求jsp中response.sendRedirect()实例;

response.sendRedirect传递参数和转向

response.sendRedirect() 有啥用?

急!关于response.sendRedirect传递中文参数