大佬教程收集整理的这篇文章主要介绍了forward和redirect的区别是什么?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
答案:在设计Web应用程序的时候,经常需要将一个系统进行结构化设计,即按照模块来划分,让不同的Servlet来实现不同的功能,例如可以让其中一个Servlet接收用户的请求,另外一个Servlet
来处理用户的请求。为了实现这种程序的模块化,就需要保证在不同的Servlet之间可以相互跳转,而Servlet中主要有两种实现跳转的方式:forWARD方式与redirect方式。
forWARD是服务器内部的重定向,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,而客户端并不知道,因此,在客户端浏览器的地址栏中不会显示转向后的地址,还是原来的地址。
由于在整个定向的过程中用的是同一个request,因此,forWARD会将request的信息带到被定向的JSP或Servlet中使用。
redirect则是客户端重定向,是完全的跳转,即客户端浏览器会获取到跳转后的地址,然后重新发送请求,因此,浏览器中会显示跳转后的地址。同时由于这种方式比forWARD方式多了一次网络请求,
所以,forWARD效率更高。需要注意的是,客户端重定向可以通过设置特定的http头或者写JavaScript脚本实现。图17可以更好地说明它们的区别。
鉴于以上区别,一般当forWARD方式可以满足需求时,尽可能地使用forWARD方式。但在有些情况下,例如,需要跳转到一个其他服务器上的资源,则必须使用redirect方式。
引申:filter的作用是什么?主要实现什么方法?
filter使用户可以改变一个request并且修改一个Response。filter不是一个Servlet,它不能产生一个Response,它能够在一个request到达Servlet之前预处理request,也可以在离开Servlet时处理
Response。filter其实是一个“Servlet Chaining”(servlet链)。
一个filter包括:
1)在Servlet被调用之前截获
2)在Servlet被调用之前检查Servlet request
4)根据需要修改Response头和Response数据。
5)在Servlet被调用之后截获。
以上是大佬教程为你收集整理的forward和redirect的区别是什么?全部内容,希望文章能够帮你解决forward和redirect的区别是什么?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。