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
字符串必须以斜线开头。