Servlet-und path-Parameter wie /xyz/{Wert}/testen, wie die Karte in web.xml?
Tut servlet support-urls wie folgt:
/xyz/{value}/test
denen Wert sein könnte, ersetzt durch text oder Zahl.
Wie anzeigen, die in den web.xml?
In Bezug auf: stackoverflow.com/questions/8252442/... (möglichst doppelte).
InformationsquelleAutor BlackEagle | 2012-01-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist nicht unterstützt durch Servlet-API, um die URL-Muster für Platzhalter -
*
in der Mitte der Zuordnung. Es erlaubt nur die Platzhalter*
am Ende des mapping-wie so/prefix/*
oder in den Anfang des mapping-wie so*.suffix
.Mit der standard erlaubt URL-pattern syntax, Ihre beste Wette ist, um eine Karte zu auf
/xyz/*
und extrahieren Sie den Pfad Informationen überHttpServletRequest#getPathInfo()
.So eine
<url-pattern>/xyz/*</url-pattern>
hier ein basic-Start-Beispiel, wie extrahieren Sie die Pfad-information, null-checks und array-index-out-of-bounds-checks ausgelassen:Wenn du mehr willst feinere Kontrolle wie möglich mit der Apache HTTPD ist
mod_rewrite
, dann könnte man schauen, Tuckey ' s URL-rewrite filter.Ist das wirklich der Weg braucht man zum extrahieren von url-Parameter, die nicht GET-Parameter? Das scheint ziemlich aufgebläht, schwer zu pflegen, anfällig für offset-Fehler und 1995 im Allgemeinen.
verwenden Sie einfach einen Rahmen auf der Oberseite der Servlet-API unterstützt, die die Pfad-Parameter, wie z.B. JAX-RS oder MVC.
Eine weitere option ist getRequestURI(), in meinem Fall getPathInfo() leer war.
es wird leerer im filter, oder wenn eine schlecht umgesetzt request wrapper verwendet wird, irgendwo in der Anforderung oder aufgrund eines Fehlers in der servletcontainer.
InformationsquelleAutor BalusC
Als die anderen angegeben haben, wird der servlet-Spezifikation nicht erlauben, solche Muster; jedoch könnten Sie die JAX-RS, die nicht erlauben, solche Muster, wenn dieses geeignet ist für Ihren Fall.
Oder:
(Bezogen auf: https://stackoverflow.com/a/8303767/843093.)
InformationsquelleAutor shelley
Er unterstützt die Zuordnung, die url, aber nicht bieten jede Validierung.
In Ihrem web-xml, Sie könnten dies tun....
Aber nicht garantieren, dass die nachfolgende
test
vorhanden ist und es ist der Letzte Punkt. Wenn Sie auf der Suche nach etwas anspruchsvoller, sollten Sie versuchen, urlrewritefilter.http://code.google.com/p/urlrewritefilter/
InformationsquelleAutor Dave
Wie oben, Basis-servlets nicht unterstützt Muster, wie Sie in Ihrer Frage. Spring MVC unterstützt mustern. Hier ist ein link auf den entsprechenden Abschnitt in der Frühjahr Referenz-Dokument.
InformationsquelleAutor DwB
Die Sie nicht tun sollten, dass in web.xml vielmehr können Sie jede Anforderung an den filter (Patternfilter) und können prüfen, ob URL
InformationsquelleAutor Sanjay Kumar