鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 网站制作教程 > JSP > >

forward和include方法的区别

来源:互联网 作者:佚名 时间:2015-08-19 07:41
request.getRequestDispatcher(jsp2.jsp).forward(request,response); request.getRequestDispatcher(jsp2.jsp).include(request,response); 这两种写法有什么区别呢? 首先, getRequestDispatcher 后面的参数可以是一个 servlet,jsp 或者 html 页面 对于 f

request.getRequestDispatcher( "jsp2.jsp ").forward(request,   response);
request.getRequestDispatcher( "jsp2.jsp ").include(request,   response);
这两种写法有什么区别呢?

首先,getRequestDispatcher后面的参数可以是一个servlet,   jsp或者html页面
对于forward方法,本意是让第一个页面处理request,第二个页面处理response。如果第一个页面中已经使用response进行输出了,那么只要没有flush()forward依然可以成功,并会自动清除刚才的输出内容,但是如果第一个页面调用了flush()方法,则会报错。值得注意的是执行了forward方法调用了第二个页面之后,程序还会返回第一个页面继续执行,但是此时再使用response输出已经没有作用了。建议可以在forward语句后面加上   if     (true)   return;避免无必要的执行后面的程序。

include方法则不同,它是服务器端的动态加载,执行完第二个页面的程序后可以回到第一个页面继续输出,只需要注意第二个页面不应当更改response的头部信息。

总结一句话就是:

forward是转发的另一个页面.
include是把另一个页面加载到当前页面.

网友评论
<