获取RequestDispatcher有三中方法
1.RequestDispatcher dispatch = request.getRequestDispatcher(arg);这里的参数可以是一个相对路径或者是一个不定的资源(sp, servlet)
2.RequestDispatcher dispatch = getServletContext.getRequestDispatcher(arg)这里的参数必须是一个绝对路径RUL(已/开始),有效的servlet或者jsp.这里的URL是在web.xml文件里定义的,必须以/开始
3.RequestDispatcher dispatch = getServletContext.getNamedDispatcher("string"); 这里的参数必须是一个servlet的名字.在web.xml定义
Example
1 NamedDispatcher
Returns a RequestDispatcher object that acts as a wrapper for the named servlet.
getNamedDispatcher(String) method takes the name of the Servlet as parameter which is declared via Deployment descriptor. Example: Deployment Descriptor
<servlet>
<servlet-name>FirstServlet</servlet-name>
<servlet-class>com.example.ServletExample</servlet-class>
</servlet>
RequestDispatcher dispatch = request.getNamedDispatcher(?FirstServlet?);
dispatch.forward(request, response); 2.
RequestDispatcher
RequestDispatcher dispatch = request.getRequestDispatcher("/tes");
<servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>/tes</url-pattern>
</servlet-mapping> 3.
RequestDispatcher dispatch = request.getRequestDispatcher("/TestJspOne.jsp");
来源:oschina
链接:https://my.oschina.net/u/127485/blog/119294