Связь с сервлетом по умолчанию содержит только символ /. В
WebLogic вызов метода
javax.servlet.http.HttpServletRequest.getServletPath для связи с
сервлетом по умолчанию возвращал пустую строку, а вызов метода
javax.servlet.http.HttpServletRequest.getPathInfo возвращал null.
В WebSphere traditional вызов getServletPath для связи с сервлетом по умолчанию возвращает пустую строку, а вызов метода
getPathInfo возвращает символ /.
В случае миграции на
Liberty при использовании реализации компонента Servlet 3.0 или 3.1 вызов
getServletPath для связи с сервлетом по умолчанию возвращает пустую строку, а вызов метода getPathInfo возвращает символ /.
Однако при использовании компонента Servlet 4.0 вызов getServletPath возвращает символ /, а вызов getPathInfo возвращает null.
Для примера рассмотрим следующий фрагмент кода:
В WebLogic этот код создаст следующий вывод:
В WebSphere traditional или Liberty с компонентом Servlet версии 3.0 или 3.1 этот код создаст следующий вывод:
В Liberty с компонентом Servlet 4.0 этот код создаст следующий вывод:
Если выполняется миграция на WebSphere traditional или на Liberty с
реализацией Servlet 3.0 или 3.1, следует проверить, учтено ли в коде то, что
getPathInfo возвращает символ / вместо значения null.
Если выполняется миграция на Liberty с реализацией Servlet 4.0, следует
проверить, учтено ли в коде то, что getServletPath возвращает
символ / вместо пустой строки.
Дополнительная информация: