預設 Servlet 對映具有只含 / 字元的對映。在 WebLogic 中,預設 Servlet 對映的 javax.servlet.http.HttpServletRequest.getServletPath 方法的呼叫會傳回空字串,javax.servlet.http.HttpServletRequest.getPathInfo 方法的呼叫會傳回 null。
在 WebSphere Traditional 中,預設 Servlet 對映的 getServletPath 的呼叫會傳回空字串,但 getPathInfo 方法的呼叫傳回 / 字元。
同樣,如果要移轉至 Liberty 並使用 Servlet 3.0 或 3.1 特性實作,則預設 Servlet 對映的 getServletPath 的呼叫會傳回空字串,但 getPathInfo 方法的呼叫傳回 / 字元。但是,如果您使用 Servlet 4.0 特性,則 getServletPath 的呼叫會傳回 / 字元,而 getPathInfo 的呼叫會傳回 null。
例如,請考量下列程式碼:
在 WebLogic 中,此程式碼將產生下列輸出:
在 WebSphere Traditional 和具有 Servlet 3.0 或 3.1 的 Liberty 中,程式碼將產生下列輸出:
在具有 Servlet 4.0 的 Liberty 中,程式碼將產生下列輸出:
如果要移轉至 WebSphere Traditional 或移轉至具有 Servlet 3.0 或 3.1 實作的 Liberty,請確保程式碼使 getPathInfo 傳回 / 字元而不是 null。
如果要移轉至具有 Servlet 4.0 實作的 Liberty,請確保程式碼使 getServletPath 傳回 / 字元而不是空字串。
如需相關資訊,請參閱: