`
hyhandylit
  • 浏览: 67536 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

转向和转发的区别

    博客分类:
  • jsp
阅读更多
一、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("http://www.mocuai.com");
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics