首页 > 其他 > 详细

(十一)RequestDispatcher

时间:2016-01-19 12:23:28      阅读:170      评论:0      收藏:0      [点我收藏+]
/**
 * 
 * <p>标题: RequestDispatcher</p>
 * <p>
 *    功能描述:
 *    1、RequestDispatcher对象由Servlet容器创建,用于封装一个由路径所标识的服务器资源。利用RequestDispatcher对象,可以把请求转发给其他的Servlet或JSP页面。
 *    2、可以从ServletContext中的getRequestDispatcher得到,也可以 在servletRequest中的getRequestDispatcher得到。
 *    3、http://localhost:7777/SltLearn/OutServletInfo中request.getRequestDispatcher("/");得到了项目的跟路径,指SltLearn/下
 * </p>
 * <p>创建日期: 2016年1月19日 上午10:51:18</p>
 * <p>作者: 年华</p>
 * <p>版本: 1.0</p>
 */
public abstract interface RequestDispatcher {
    /*
     *该方法用于将请求从一个Servlet传递给服务器上的另外的Servlet、JSP页面或者是HTML文件。 
     *在Servlet中,可以对请求做一个初步的处理,然后调用这个方法,将请求传递给其他的资源来输出响应。 
     *要注意的是,这个方法必须在响应被提交给客户端之前调用,否则的话,它将抛出IllegalStateException异常。
     *在forward()方法调用之后,原先在响应缓存中的没有提交的内容将被自动清除。
     * 
     */
    public abstract void forward(ServletRequest paramServletRequest,
            ServletResponse paramServletResponse) throws ServletException,
            IOException;
    
    /*
     * 该方法用于在响应中包含其他资源(Servlet、JSP页面或HTML文件)的内容。
     * 和forward()方法的区别在于:利用include()方法将请求转发给其他的Servlet,
     * 被调用的Servlet对该请求做出的响应将并入原先的响应对象中,
     * 原先的Servlet还可以继续输出响应信息。而利用forward()方法将请求转发给其他的Servlet,
     * 将由被调用的Servlet负责对请求做出响应,而原先Servlet的执行则终止。
     * 
     */
    public abstract void include(ServletRequest paramServletRequest,
            ServletResponse paramServletResponse) throws ServletException,
            IOException;
    
    //总结:这两个方法的共同点:客户端访问的地址将不会发生变化,还是原先访问的地址,变化的只是内部的跳转调用。

}

(十一)RequestDispatcher

原文:http://www.cnblogs.com/DivineHost/p/5141521.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!