Ich habe das folgende Setup. Der Ordner itext ist in der obersten Ebene in Webapps:Servlet-Mapping-Attribut in web.xml für ein Projekt nicht in der obersten Ebene in Webapps
├───itext
│ └───WEB-INF
│ ├───classes
│ │ └───com
│ │ └───imparator
│ │ └───ist
│ └───lib
Im web-inf Ordner ich eine web.xml-Datei, wo ich die Servletzuordnung tun:
<servlet>
<servlet-name>Itext Servlet</servlet-name>
<servlet-class>com.imparator.ist.ItextServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Itext Servlet</servlet-name>
<url-pattern>/fincc-itext</url-pattern>
</servlet-mapping>
Nun, wenn ich möchten Sie etwas von diesem Servlet bedient werden, hier ist mein action-Attribut in einer Form:
<form method="POST" action="/itext/fincc-itext">
========================== ================================================= ============
Nehmen wir nun an, dass der itext Ordner nicht in der Top-Level-Ordner in Webapps war aber ein paar Stufen unter:
├───level1
│ └───level2
│ └───itext
│ └───WEB-INF
│ ├───classes
│ │ └───com
│ │ └───imparator
│ │ └───ist
│ └───lib
Wie kann ich aktualisieren Das Servlet-Mapping und der Action-Attribut-Wert entsprechen dieser Verzeichnisstruktur?
Beachten Sie, dass der Kontextpfad in URLs ist nicht unbedingt die Ordnernamen der Haupt-Webapp-Ordner, wie er bereitgestellt wurde. Es ist in der Serverkonfiguration konfigurierbar. Sie sollten es immer vorziehen, es dynamisch durch 'HttpServletRequest # getContextPath()' oder '$ {pageContext.request.contextPath}' zu spezifizieren, anstatt es in Ihrer HTML/JSP fest zu kodieren. Siehe auch http://stackoverflow.com/questions/4764405/how-to-use-relative-paths-without-the-context-root-name – BalusC