forward,include,redirect区别.docVIP

  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文档。上传文档
查看更多
forward,include,redirect区别

forward,include,redirect区别。 forward,include,redirect是jsp中web页面(jsp或servelt)的三种不同的路由关系,三个貌似相同,其实还是有许多差别的,而了解这些细微的差别,在web开发中是很重要的。 说明: forward、include由javax.servlet.RequestDispatcher来封装,由包容器container提供RequestDispatcher接口的实现,其中声明如下: void forward(ServletRequest req,ServletResponse res) void include(ServeltRequest req,ServletResponse res) 可以通过两种方式得到RequestDispatcher: 1、ServletContext.getRequestDispatcher(String path); 其中这里的path必须开始为/,即这里的path必须相对于context的root. 2、ServeltRequest.getRequestDispatcher(String path) 这里的path可以为相对路径,如果path开始为/,则也认为是从context的root开始的。 二、Redirect由HttpServletResponse.sendRedirect(String location)来支持 差别: 三个都可以对用户的request进行转发,但是还是有许多的不同,差别最主要集中在如下几个方面: 1、forward与include共亨Request范围内的对象,而redirect则不行,即:如果一个javabean被声明为request范围的话,则被forward到的资源也可以访问这个javabean,而redriect则不行。 2、forward与include基本上都是转发到context内部的资源,而redirect可以重定向到外部的资源,如: req.sendRedriect(); Forward功能的实现,这样 private void setForward(String url,ServletRequest request, ServletResponse response)throws Exception { HttpServletRequest hreq = (HttpServletRequest) request; RequestDispatcher dispatcher = hreq.getSession().getServletContext().getRequestDispatcher(url); dispatcher.forward(request,response); } 通常,在一个设计良好的Web应用中,都会综合使用Servlet和JSP技术。Servlet控制业务流转,JSP则负责业务处理结果的显示。此时,将大量用到重定向技术。 重定向技术可以分为两类,一类是客户端重定向,一类是服务器端重定向。客户端重定向可以通过设置特定的HTTP头,或者写JavaScript脚本实现。本文主要探讨服务器端重定向技术的实现。 服务器端的重定向相关类 服务器端的重定向技术涉及到javax.servlet.ServletContext、javax.servlet.RequestDispatcher、javax.servlet.http.ServletRequest、javax.servlet.http.ServletResponse等几个接口。图1是这几个接口之间的关系图。 服务器端的重定向方式 服务器端的重定向可以有两种方式 一是使用HttpServletResponse的sendRedirect()方法, 一是使用RequestDispatcher的forward()方法。下面对这两种方式进行介绍。 HttpServletResponse.sendRedirect()方法 HttpServletResponse接口定义了可用于转向的sendRedirect()方法。代码如下: public void sendRedirect(java.lang.String location)throws java.io.IOException 这个方法将响应定向到参数location指定的、新的URL。location可以是一个绝对的URL,如response.sendRedirect()也可以使

文档评论(0)

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

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

1亿VIP精品文档

相关文档