Výchozí mapování servletu má mapování pouze znaku /. V produktu WebLogic
vrátí volání metody javax.servlet.http.HttpServletRequest.getServletPath kvůli výchozímu mapování
servletu prázdný řetězec a volání metody javax.servlet.http.HttpServletRequest.getPathInfo vrátí
hodnotu null.
V produktu WebSphere vrátí volání metody getServletPath kvůli výchozímu mapování servletu prázdný řetězec,
ale volání metody getPathInfo vrátí znak /.
Podobně platí, že pokud migrujete na server Liberty a používáte implementace funkce servletu 3.0 nebo 3.1, volání metody getServletPath kvůli
výchozímu mapování servletu vrátí prázdný řetězec, ale volání metody getPathInfo vrátí znak /.
Pokud však použijete funkci servletu 4.0, volání metody getServletPath vrátí znak / a volání metody
getPathInfo vrátí hodnotu null.
Zvažte například následující kód:
Na serveru WebLogic bude mít tento kód následující výstup:
Na serverech WebSphere traditional a Liberty se servletem 3.0 nebo 3.1 bude mít kód následující výstup:
Na serveru Liberty se servletem 4.0 bude mít kód následující výstup:
Pokud migrujete na server WebSphere traditional nebo Liberty s implementací servletu 3.0 nebo 3.1, ujistěte se, že
váš kód bere v úvahu, že metoda getPathInfo vrátí znak / namísto hodnoty null.
Pokud migrujete na server Liberty s implementací servletu 4.0, ujistěte se, že váš kód bere v úvahu, že metoda
getServletPath vrátí znak / namísto prázdného řetězce.
Další informace viz: