Servlet中ServletContext方法getNamedDispatcher() an...

获取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

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

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");