18910140161

web开发之转发和重定向区别

顺晟科技

2021-06-16 10:45:18

140

个是request.getrequestdispatcher()。转发(请求、响应):

1.它属于转发和服务器跳转,相当于方法调用。在执行当前文件的过程中,它转向执行目标文件。两个文件(当前文件和目标文件)属于同一个请求,前后页共享一个请求,可以传递一些数据或者会话信息,request.setAttribute()和request.getAttribute()。

2.两次执行后,地址栏保持不变,仍然是当前文件的地址。

3.除了这个web应用程序,你不能转到其他页面和网站,所以你应该快速转。

4.URL中包含的“/”表示应用程序(项目)的路径。

第二个是response.sendRedirect():

1.属于重定向,也是客户端跳转,意思是客户端向服务器发送请求后,服务器返回响应,客户端收到响应后,向服务器发送请求,一共是两个请求。封面和封底不共享一个请求,翻页前request.setAttribute()设置的属性值无法读取。

2.两次执行后,地址栏发生变化,地址栏是目标文件的地址。

3.可以转到这个web应用以外的页面和网站,所以转的速度比较慢。

4.URL中包含的“/”表示根目录的路径。

特殊应用:在修改、删除、添加数据时,应该使用response.sendRedirect()。如果要求。getrequestdispatcher()。采用forward (request,response ),操作前后地址栏不变,仍然是修改控制器。如果此时刷新当前页面,会再次发送修改数据的请求,这就是为什么有的人在刷新一次页面时会添加一条数据。

如何以第二种方式传输数据:

1.您可以选择session,但在第二个文件中删除它;

2.您可以在请求的url中输入参数,例如“add.htm?id=122 '

如何选择是重定向还是转发?一般转发比较快,请求中的对象可以保留,所以是。但是,由于浏览器中的URL在转发后仍然指向起始页,如果重新加载当前页面,起始页将被召回。如果不想看到这样的情况,选择转发。

本文转载自中文网站

相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航