2.6.6 request对象 3. 执行forward或include
2.6.6 request对象 3. 执行forward或include
request还有一个功能就是执行forward和include,也就是代替JSP所提供的forward和include动作指令。前面需要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
如下代码行则可以将请求forward到a.jsp页面:
1 | request.getRequestDispatcher("/a.jsp").forward(request,response); |
path必须以斜线开头
使用request的getRequestDispatcher(String path)方法时,该path字符串必须以斜线开头。