Eine Standardservletzuordnung hat nur eine Zuordnung des Zeichens /. In WebLogic gibt der Aufruf
der Methode javax.servlet.http.HttpServletRequest.getServletPath für eine Standardservletzuordnung
eine leere Zeichenfolge zurück und ein Aufruf der Methode javax.servlet.http.HttpServletRequest.getPathInfo gibt
null zurück.
In WebSphere Traditional gibt der Aufruf von getServletPath für eine Standardservletzuordnung eine leere Zeichenfolge zurück, aber
der Aufruf von getPathInfo gibt das Zeichen / zurück.
Wenn Sie eine Migration auf Liberty durchführen und die Servlet 3.0- oder 3.1-Featureimplementierung verwenden, gibt der Aufruf von getServletPath für eine Standardservletzuordnung eine leere Zeichenfolge zurück,
aber der Aufruf der Methode getPathInfo gibt das Zeichen / zurück.
Wenn Sie jedoch das Feature "Servlet 4.0" verwenden, gibt der Aufruf von getServletPath das Zeichen / zurück und der Aufruf von
getPathInfo gibt null zurück.
Sehen Sie sich beispielsweise den folgenden Code an:
In WebLogic gibt dieser Code die folgende Ausgabe aus:
Wenn dieser Code in WebSphere Traditional und Liberty mit Servlet 3.0 oder 3.1 verwendet wird, gibt er die folgende Ausgabe aus:
Wenn dieser Code in Liberty mit Servlet 4.0 verwendet wird, gibt er die folgende Ausgabe aus:
Wenn Sie eine Migration auf WebSphere Traditional oder auf Liberty mit der Servlet 3.0 oder Servlet 3.1-Implementierung durchführen, stellen Sie sicher,
dass Ihr Code berücksichtigt, dass getPathInfo das Zeichen / und nicht null zurückgibt.
Wenn Sie eine Migration auf Liberty mit der Servlet 4.0-Implementierung durchführen, stellen Sie sicher, dass Ihr Code berücksichtigt,
dass getServletPath das Zeichen / und keine leere Zeichenfolge zurückgibt.
Weitere Informationen finden Sie in den folgenden Quellen: