java - ServletContext.getRequestDispatcher() vs ServletRequest.getRequestDispatcher() - Stack Overflow

    区别:

    • ServletContext.getRequestDispatcher(String path)方法的**参数必须以斜杠(/)开始**,被解释为相对于当前上下文根(context root)的路径。例如:/myservlet是合法的路径,而../myservlet是不合法的路径。
    • 而ServletRequest.getRequestDispatcher(String path)方法的参数不但可以使相对于上下文根的路径,而且可以是相对于当前Servlet的路径。如/myservlet和myservlet都是合法的路径。如果路径**以斜杠(/)开始,则被解释为相对于当前上下文根的路径;如果没有以斜杠(/)开始**,则被解释为相对于当前Servlet的路径。ServletContext接口中的getNamedDispatcher()方法则是以在部署描述符中给出的Servlet(或jsp)的名字作为参数。

    ServletRequest.getRequestDispatcher()和ServletContext.getRequestDispather()区别_德泽无忧的技术博客_51CTO博客