2009-07-06 6 views
2

Ich bin nicht sicher, dass es möglich ist zu tun, was ich erreichen möchte. Ich möchte ein einzelnes Servlet zwei verschiedenen URLs zuordnen.Servlet Mapping in Apache Tomcat 6.0.20

Ich möchte sowohl http://10.0.0.1/a als auch http://10.0.0.1/b auf das gleiche Servlet abbilden.

Ich weiß, dass es in web.xml möglich ist;

<servlet-mapping> 
    <servlet-name>ServletName</servlet-name> 
    <url-pattern>/b</url-pattern> 
    </servlet-mapping> 

Aber das ermöglicht die folgende URL: http://10.0.0.1/ContextPath/b/

Antwort

6

Sie folgendes tun:

<servlet-mapping> 
    <servlet-name>ServletName</servlet-name> 
    <url-pattern>/a</url-pattern> 
    </servlet-mapping> 
    <servlet-mapping> 
    <servlet-name>ServletName</servlet-name> 
    <url-pattern>/b</url-pattern> 
    </servlet-mapping> 

Und dann beide http://host/webapp/a und http://host/webapp/b wird auf das gleiche Servlet abgebildet werden.

Wenn Sie das/Webapp Präfix löschen möchten, müssen Sie Ihre Web-App als die Wurzel von setting the path attribtue of the context to "" in your context xml file einzustellen (unter webapps oder in META-INF/context.xml)

+0

meinen Sie das context.xml in /conf? (und in hinzufügen \t ""?) – Schildmeijer

+0

Ja, es kann auch da sein. Der Pfad ist ein Attribut

+0

Ich habe Folgendes hinzugefügt: zu server.xml. (Fügen Sie auch die oben erwähnten Servlet-Mappings zu der webapp-spezifischen web.xml hinzu) Aber ich kann es immer noch nicht richtig machen. Irgendeine Idee? – Schildmeijer

Verwandte Themen