获取RequestDispatcher有三中方法 web
1.RequestDispatcher dispatch = request.getRequestDispatcher(arg);这里的参数能够是一个相对路径或者是一个不定的资源(sp, servlet) app
2.RequestDispatcher dispatch = getServletContext.getRequestDispatcher(arg)这里的参数必须是一个绝对路径RUL(已/开始),有效的servlet或者jsp.这里的URL是在web.xml文件里定义的,必须以/开始 jsp
3.RequestDispatcher dispatch = getServletContext.getNamedDispatcher("string"); 这里的参数必须是一个servlet的名字.在web.xml定义 url
Example spa
1 NamedDispatcher code
Returns a RequestDispatcher object that acts as a wrapper for the named servlet. xml
getNamedDispatcher(String) method takes the name of the Servlet as parameter which is declared via Deployment descriptor. Example: Deployment Descriptor ip
<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 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");