O mapare de servlet implicită are o mapare doar a caracterului /. În WebLogic, un apel la metoda
javax.servlet.http.HttpServletRequest.getServletPath
pentru o mapare de servlet implicită întoarce un şir gol, iar un
apel la metoda
javax.servlet.http.HttpServletRequest.getPathInfo
returnează null.
În WebSphere tradiţional, un apel la getServletPath
pentru o mapare de servlet implicită va întoarce un şir gol, dar un apel la getPathInfo va returna caracterul
/.
Similar, dacă migraţi la Liberty şi utilizaţi
implementările caracteristicii Servlet 3.0 sau 3.1, un apel la getServletPath pentru o mapare de servlet implicită va întoarce un şir gol, dar un apel la getPathInfo va returna caracterul
/.
Dar, dacă folosiţi caracteristica Servlet 4.0, un apel la
getServletPath va
întoarce caracterul / şi un apel la
getPathInfo va returna null.
De exemplu, să presupunem că avem următorul cod:
În WebLogic, acest cod va avea următoarea ieşire:
În WebSphere tradiţional şi Liberty cu Servlet 3.0 sau 3.1, codul va avea următoarea ieşire:
În Liberty cu Servlet 4.0, codul va avea următoarea ieşire:
Dacă migraţi la WebSphere tradiţional sau la Liberty cu implementările
Servlet 3.0 sau 3.1, asiguraţi-vă că în codul dumneavoastră se aşteaptă ca getPathInfo să returneze / în loc de null.
Dacă migraţi la la Liberty cu implementarea
Servlet 4.0, asiguraţi-vă că în codul dumneavoastră se aşteaptă ca getServletPath să returneze / în loc de un şir gol.
Pentru informaţii suplimentare, vedeţi: