Jetty nicht routing-servlet als web-Anwendung im Unterverzeichnis von webapps

Ich habe eine web-Anwendung, die einwandfrei funktioniert (servlets genannt), wenn ich den Ordner der Anwendung in der {JETTY_HOME}/webapps Verzeichnis.

Wenn ich eine Kopie der web-Anwendung in einem Unterverzeichnis von webapps ist, dann werden alle statischen Dateien werden aufgerufen, wenn ich navigieren Sie zu der Website, aber die servlets, die rufe ich per ajax zurückkehren 404.

http://localhost/shlaa
  • Aufrufe /shlaa/CommentController.tun richtig und kein Fehler.
http://localhost/mapapp/shlaa
  • gibt 404 zurück, die für den ajax-call /mapapp/shlaa/CommentController.tun

    web.xml in beiden Pfaden /WEB_INF Ordner enthält die folgenden

    <servlet>
        <servlet-name>CommentController</servlet-name>
        <servlet-class>web.CommentController</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>CommentController</servlet-name>
        <url-pattern>/CommentController.do</url-pattern>
    </servlet-mapping>

    Den jetty.xml Ordner in {JETTY_HOME}/etc enthält die folgenden:

     <Call class="org.mortbay.jetty.webapp.WebAppContext" name="addWebApplications">
          <Arg><Ref id="contexts"/></Arg>
            <Arg><SystemProperty name="jetty.home" default="."/>/webapps</Arg>
          <Arg><SystemProperty name="jetty.home" default="."/>/etc/webdefault.xml</Arg>
          <Arg type="boolean">True</Arg>  <!-- extract -->
          <Arg type="boolean">True</Arg> <!-- parent priority class loading -->
      </Call> 
  • Ich bemerkte das .tun Erweiterung in Ihrem servlet-Muster. Verwenden Sie Streben durch irgend eine chance ?
  • Sie sagte auch localhost/shlaa Anrufe /mapapp/shlaa/CommentController.tun richtig und kein Fehler. Kannst du die Konfiguration dafür ? Ich bin neugierig, wie das funktioniert
  • Nein, nicht mit struts - habe gerade in die Gewohnheit zu beenden servlets Verweise mit diesem.
  • Ich habe platziert eine geklonte Anwendung von shlaa in beiden webapps root und den webapps/mapapp Verzeichnis,ich habe korrigiert die Referenz oben
  • Im ersten Fall Sie sagte, es funktioniert richtig : localhost/shlaa Anrufe /mapapp/shlaa/CommentController.tun . Ich Frage mich, wie das arbeiten. Was ist Ihre web.xml Konfiguration für das ?
  • Sorry für die Verwirrung - localhost/shlaa richtig Aufrufe /shlaa/CommentController.tun, wenn ich Browsen auf localhost/shlaa/CommentController.tun. In der Anwendung gibt es eine ajax-Aufruf, der hat einen http-get für CommentController.auf die Seite laden.
  • Dass macht Sinn . Vielen Dank für die Klarstellung.

Schreibe einen Kommentar