Odwzorowanie domyślnego serwletu uwzględnia jedynie odwzorowanie znaku /. W przypadku serwera WebLogic 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 wartość null.
W przypadku serwera WebSphere traditional wywołanie metody getServletPath na potrzeby odwzorowania domyślnego serwletu zwraca pusty łańcuch, a wywołanie metody
getPathInfo zwraca znak /.
Podobnie w przypadku migracji do serwera Liberty oraz w przypadku korzystania z implementacji składnika Servlet 3.0 lub 3.1 wywołanie metody getServletPath na
potrzeby odwzorowania domyślnego serwletu zwraca pusty łańcuch, a wywołanie metody getPathInfo zwraca znak /.
Jednak w przypadku korzystania ze
składnika Servlet 4.0 wywołanie metody getServletPath zwraca znak /, a wywołanie metody getPathInfo zwraca wartość null.
Przykładowy kod do rozpatrzenia:
Na serwerze WebLogic ten kod zwróci następujące dane wyjściowe:
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 migracji na serwer WebSphere traditional lub Liberty z implementacjami składnika Servlet w wersji 3.0 lub 3.1 należy sprawdzić, czy kod oczekuje, że metoda
getPathInfo zwróci znak /, a nie wartość null.
W przypadku migracji na serwer Liberty z implementacją składnika Servlet 4.0 należy sprawdzić, czy kod oczekuje, że metoda getServletPath zwróci znak
/, a nie pusty łańcuch.
Informacje dodatkowe: