2.6.6 request对象 3. 执行forward或include

2.6.6 request对象 3. 执行forward或include

request还有一个功能就是执行forwardinclude,也就是代替JSP所提供的forwardinclude动作指令。前面需要forward时都是通过JSP提供的动作指令进行的,实际上request对象也可以执行forward

RequestDispatcher对象的forward和include方法

HttpServletRequest类提供了一个getRequestDispatcher(String path)方法,其中path就是希望forward或者include的目标路径,该方法返回RequestDispatcher,该对象提供了如下两个方法:

RequestDispatcher对象方法 描述
forward(ServletRequest request, ServletResponse response) 执行forward
include(ServletRequest request, ServletResponse response) 执行include

requset执行include

如下代码行可以将a.jsp页面include到本页面中:

1
requset.getRequestDispatcher("/a.jsp").include(request,response);

requset执行forward

如下代码行则可以将请求forwarda.jsp页面:

1
request.getRequestDispatcher("/a.jsp").forward(request,response);

path必须以斜线开头

使用requestgetRequestDispatcher(String path)方法时,该path字符串必须以斜线开头。