Wie ein Servlet zur Karte mit getPathInfo zusätzlichen Pfadinformationen zu erhalten ()

StackOverflow https://stackoverflow.com/questions/124685

  •  02-07-2019
  •  | 
  •  

Frage

Ich habe ein Problem, wo Tomcat zusätzliche Pfadinformationen als Teil des Servlet-Namen zu behandeln. Dies ist ein Bündel von RESTful-Funktionalität in unserem Webapp zu brechen (wir Infos extra Pfad verwenden, anstatt? Name = Wert-Paare für Crawler-freundliche Links).

Es funktioniert vor richtig, aber es brach nach expliziten Zuordnungen Hinzufügen und Entfernen des Invoker Servlet, dass wir unsere Servlets bisher verwendeten dienen. Zum Beispiel betrachten Sie den folgenden Link:

  

http://mydomain.com/servlet/MyServlet/param1/param2/param3

MyServlet verwendet, um richtig und "/ param1 / param2 / param3" genannt wurde von getPathInfo() auf dem HttpServletRequest zurückgegeben.

Nun, es scheint, dass Tomcat myservlet / param1 / param2 / param3 als Servlet zu laden versucht:

  

[23 / Sep / 2008: 16: 44: 23 -0700] „GET   / Servlet / myservlet / param1 / param2 / param3   HTTP / 1.0" 404

Hier ist die Art, wie sie definiert sind und in der web.xml abgebildet, und nur schlagen " http://mydomain.com/servlet/MyServlet " funktioniert.

<servlet>
  <servlet-name>MyServlet</servlet-name>
  <servlet-class>com.myclass.etcetera.MyServlet</servlet-class>
</servlet>

<servlet-mapping>
  <servlet-name>MyServlet</servlet-name>
  <url-pattern>/servlet/MyServlet</url-pattern>
</servlet-mapping>
War es hilfreich?

Lösung

Sie müssen es / Servlet zur Karte / myservlet / *

Sie fehlen den nachgestellten „/*".

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top