ServletContext 對象 的 getRequestDispatcher (java.lang.String path) 的官方文檔
The pathname must begin with a "/" and is interpreted as relative to the current context root.
路徑名必須以 “ / ” 開始,路徑相對於在當前上下文的根目錄之下
比如,在 web.xml 中,有
<servlet-mapping>
<servlet-name>ServletTest123</servlet-name>
<url-pattern>/comment/ServletTest123</url-pattern>
</servlet-mapping>
path 應爲 /comment/ServletTest123
ServletRequest 對象的 getRequestDispatcher (java.lang.String path) 的官方文檔
The pathname specified may be relative, although it cannot extend outside the current servlet context. If the path begins with a "/" it is interpreted as relative to the current context root. This method returns null
if the servlet container cannot return a RequestDispatcher
.
路徑如果以 “ / ” 開始,路徑相對於在當前上下文的根目錄之下,否則則視爲相對於當前 servlet 路徑的父目錄下
比如,當前servlet 名稱是 ServletTest123 ,在 web.xml 中,有
<servlet-mapping>
<servlet-name>ServletTest123</servlet-name>
<url-pattern>/comment/ServletTest123</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ServletTest456</servlet-name>
<url-pattern>/comment/ServletTest456</url-pattern>
</servlet-mapping>
現在通過 ServletRequest 對象 獲取 servletTest456 的 RequestDispatcher 對象
第一種 path參數:("/comment/ServletTest456")
第二種 path參數:("ServletTest456")
闡述兩者區別 的官方文檔
The difference between this method and ServletContext.getRequestDispatcher(java.lang.String)
is that this method can take a relative path.
ServletRequest 和 ServletContext 的 getRequestDispatcher(java.lang.String) 方法的區別是
ServletRequest 既支持
相對於在當前上下文的根目錄的參數(以 "/" 開頭),還支持 相對於當前 servlet 路徑的父目錄 的參數,而 ServletContext只支持
相對於在當前上下文的根目錄的參數(以 "/" 開頭)