转发与重定向的区别.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
转发与重定向的区别.pdf

—高级软件人才实作培训专家! 转发与重定向的区别 我们知道,请求转发和请求包含都是在一个请求内,涉及到多个Servlet。既然转发和包含都在一个请 求内,那么说明多个Servlet共用同一个request对象和response对象。这个时候就存在request域。 1. request 域 Servlet的三大域对象:request,session,application。其中request域是三大域对象中范围最小的域对 象,application对象其实就是ServletContext对象,在ServletContext功能详解中我们对它的域功能做了详 细的介绍;session域会在后面学习。 request域只会在请求转发和请求包含时存在。它的域范围就是整个请求链,如图1-1所示。例如:由 AServlet请求转发到BServlet,这时在AServlet 中向request域中存放数据,然后在BServlet 中从request 域中获取数据。如果BServlet又转发给其他的Servlet,那么在其他Servlet中也可以从request域中获取数 据。转发过程中经过的这些Servlet都在一个请求链中。 图1-1 请求转发 2. request域相关方法介绍 以后只要是域对象,那么它必然会有以下三个方法:  voidsetAttribute(Stringname,Objectvalue 该方法是向域中保存域属性,例如:setAttribute(“username”,”zhangsan” ,其中,username 是域属性的名称,zhangsan是域属性的值。如果多次调用该方法,且属性名称相同,那么后保存 的数据会覆盖先保存的数据。  ObjectgetAttribute(Stringname 该方法是根据属性名称从域中获取域属性的值,如果之前没有调用setAttribute( 方法保存 数据,那么调用getAttribute( 方法返回值是null。  voidremoveAttribute(Stringname —高级软件人才实作培训专家! 该方法是从域中移出指定名称的域属性,如果该名字的域属性不存在,则该方法什么都不 做。 3. 域属性和请求参数的区别 很多人在学习域属性的时候会将域属性和请求参数弄混淆,认为域属性就是请求参数。其实这个认知 是错误的。下面我们来看域属性和请求参数有哪些区别: (1 来源不同 请求参数是由客户端发送给服务器的,而域属性是在服务器内部,在Servlet中向域中添加的; (2 相关方法不同 请求参数只能获取,不能修改、删除和添加,而域属性在获取的基础上还可以添加和删除。 为了让大家更加直观的区分它们,下面我们来看一张图,图1-2: 图1-2 请求参数和域属性的区别 由图1-2可知,域属性是请求转发或请求包含时,在Servlet之间传递的数据。 4. 请求转发和重定向的区别 在学习重定向时,我们已经了解了重定向的一些特点,现在根据请求转发的特性,我们将请求转发和 重定向做了以下比较: (1请求转发是一次请求一次响应,而重定向是两次请求两次响应; (2请求转发地址栏不会改变,而重定向地址栏会显示第二次请求的地址; (3请求转发只能转发给本项目的其他资源,而重定向不仅可以重定向到本项目的其他资源,还可以重 定向到其他项目; (4 请求转发是服务器端的行为,转发时只需要给出转发的资源路径即可,如Servlet的访问路径;而 重定向需要给出全路径,即路径要包含项目名; (5请求转发比重定向的效率高,因为请求转发是一个请求。 在以后的开发中,如果需要地址栏的地址发生改变,就选择重定向;如果需要在Servlet之间通过request 域进行数据通信,就选择请求转发。 —高级软件人才实作培训专家! 下面通过一个案例来了解request域属性的设置和获取,如下所示: (1创建web应

文档评论(0)

docindpp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档