Odwzorowanie domyślnego serwletu uwzględnia jedynie odwzorowanie znaku /. W wcześniejszych wersjach serwera WebSphere wywołanie metody
javax.servlet.http.HttpServletRequest.getServletPath na potrzeby odwzorowania domyślnego serwletu zwraca pusty łańcuch, a wywołanie metody
javax.servlet.http.HttpServletRequest.getPathInfo zwraca znak /.
Jednak w przypadku serwera Liberty ze składnikiem Servlet 4.0 wywołanie metody getServletPath na potrzeby odwzorowania domyślnego serwletu zwraca znak
/, a wywołanie metody getPathInfo zwraca wartość null.
Przykładowy kod do rozpatrzenia:
Na serwerach WebSphere traditional i Liberty ze składnikiem Servlet w wersji 3.0 lub 3.1 kod zwróci następujące dane wyjściowe:
Na serwerze Liberty ze składnikiem Servlet 4.0 kod zwróci następujące dane wyjściowe:
W przypadku korzystania ze składnika Servlet 4.0: aby przywrócić poprzedni sposób działania, należy dodać następującą konfigurację do pliku server.xml:
<webContainer servletPathForDefaultMapping="false"/>.
Informacje dodatkowe: