1

1

Standardmäßig lädt Jetty beim Starten alle Verzeichnisse und war-files in seinem webapps-Verzeichnis, auf die man dann über den jeweiligen context-path zugreifen kann (also etwa mit http:// hostname/app/ auf das projekt in webapps/app.war).

Ruft man http:// hostname/ auf, bekommt man eine 404-Fehlermeldung und die Auflistung der verfügbaren Contexte. Das ist unschön. Daher habe ich im webapps-verzeichnis eine index.html erstellt, in der naiven Annahme, diese würde beim Aufruf von http:// hostname/ ausgeliefert werden. Dem ist aber nicht so.

Wie kann ich Jetty sagen, was beim Aufruf von "/" ausgeliefert werden soll?

PS: die beispiel-urls in diesem post musste ich entstellen weil: "sorry, new users can only post a maximum of one hyperlink"

flag

2 Answers

2

Nach einem Hinweis hat folgendes funktioniert:

  • im webapps/-verzeichnis einen Ordner mit einer index.html erstellen (z.b. index/index.html)
  • im contexts/-verzeichnis eine xml-datei mit folgendem Inhalt erstellen:

    <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd"> <Configure class="org.mortbay.jetty.webapp.WebAppContext"> <Set name="contextPath">/</Set> <Set name="war">/path/to/webapps/index</Set> </Configure>

Das Contexts-Verzeichnis wird regelmäßig von Jetty gescannt (Einstellungen dazu in der etc/jetty.xml) und bei Änderungen Anwendungen neu geladen. In so einer Context-Konfiguration kann man angeben, in welchen Context-Pfad eine Anwendung geladen werden soll.

siehe auch: http://docs.codehaus.org/display/JETTY/ContextDeployer

link|flag
1

Du kannst in der web.xml einen Eintrag machen. Der muss von den Servlet-Containern respektiert werden:

<welcome-file>index.html</welcome-file>
link|flag
Das funktioniert aber leider nur innerhalb von einzelnen Projekten. Ich möchte aber eine Datei für den Aufruf von "/" angeben. – Thomas Oct 27 at 10:47

Your Answer

Get an OpenID
or

Not the answer you're looking for? Browse other questions tagged or ask your own question.