Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1569661
  • 博文数量: 3500
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 43870
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-03 20:31
文章分类

全部博文(3500)

文章存档

2008年(3500)

我的朋友

分类:

2008-05-04 20:05:46

一起学习
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("http://www.mocuai.com"); 下载本文示例代码


转发(forward)、包含(include)及转向(redirect)的区别与联系转发(forward)、包含(include)及转向(redirect)的区别与联系转发(forward)、包含(include)及转向(redirect)的区别与联系转发(forward)、包含(include)及转向(redirect)的区别与联系转发(forward)、包含(include)及转向(redirect)的区别与联系转发(forward)、包含(include)及转向(redirect)的区别与联系转发(forward)、包含(include)及转向(redirect)的区别与联系转发(forward)、包含(include)及转向(redirect)的区别与联系转发(forward)、包含(include)及转向(redirect)的区别与联系转发(forward)、包含(include)及转向(redirect)的区别与联系转发(forward)、包含(include)及转向(redirect)的区别与联系转发(forward)、包含(include)及转向(redirect)的区别与联系
阅读(142) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~