(转发)RequestDispatcher的include()方法和forward()方法的区别

forward():

  该方法用于将请求从一个Servlet传递给服务器上的另外的Servlet、JSP页面或者是HTML文件。

在Servlet中,可以对请求做一个初步的处理,然后调用这个方法,将请求传递给其他的资源来输出响应。要注意的是,这个方法必须在响应被提交给客户端之前调用,否则的话,它将抛出IllegalStateException异常。在forward()方法调用之后,原先在响应缓存中的没有提交的内容将被自动清除。

include():

  该方法用于在响应中包含其他资源(Servlet、JSP页面或HTML文件)的内容。

include()和forward()方法的区别在于:利用include()方法将请求转发给其他的Servlet,被调用的Servlet对该请求做出的响应将并入原先的响应对象中,原先的Servlet还可以继续输出响应信息。而利用forward()方法将请求转发给其他的Servlet,将由被调用的Servlet负责对请求做出响应,而原先Servlet的执行则终止。

posted @ 2015-08-13 14:33  金鱼的第七秒记忆  阅读(956)  评论(0编辑  收藏  举报