Announcement

Collapse
No announcement yet.

Tomcat findet meine Servlets nicht

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Tomcat findet meine Servlets nicht

    Hallo,
    habe folgendes gemacht. Im Verzeichnis webapps die folgende Struktur angelegt.
    /myapp
    /WEB-INF
    web.xml
    /classes
    myservlet.class
    /lib

    In der server.xml wurde der neue Context mit
    <Context path="/myapp" docBase="onjava" debug="0" reloadable="true" />
    definiert.
    Nach dem Neustart von Tomcat 4.0 und dem Request auf http://localhost:8080/myapp/servlet/myservlet
    bekomme ich immer, daß die Seite nicht gefunden wird.
    Die Eintragungen in der web.xml stimmen auch:
    <servlet>
    <servlet-name>
    myservlet
    </servlet-name>
    <servlet-class>
    myservlet
    </servlet-class>
    </servlet>
    Das Servlet ist nicht Teil eines Packages.
    Woran liegt das. Komisch ist auch, daß die Beispielservlets im Vrezeichnis /examples einwandfrei funktionieren. Speichere ich aber mein Servlet in das /examples Directory findet er es trotzdem nicht.

    Bin für jede Hilfe sehr dankbar.

    Jürgen Denzel

    P.S.: Mit der Resin Servlet Engine funktioniert die ganze Sache komischerweise anstandslos.

  • #2
    Du musst das Servlet mit
    http://localhost:8080/myapp/myservlet
    ansprechen

    Comment


    • #3
      <br>Ich nehme an, daß Dein myapp ist ein Unterverzeichnis <br>von /webapps, <b>also: tomcat/webapps/myapp
      <br>Wenn man schreibt http://localhost:8080/myapp, wird der Tomcat <br>nach index-Seite suchen oder nach eine Welcome - Seite die in
      <br>der web.xml definiert wurde (am ende der web.xml-Datei ) (3):
      <br><welcome-file-list>
      <br> <welcome-file>xyz.html</welcome-file>
      <br></welcome-file-list>
      <br>
      <br>Allerdings, muß die Seite xyz.html überhaupt nicht vorhanden <br>sein!
      <br>Wichtig ist nur, daß eine andere Definition in der web.xml <br>existiert, nämlich (2):
      <br><servlet-mapping>
      <br> <servlet-name>myservlet</servlet-name>
      <br> <url-pattern>/xyz.html</url-pattern>
      <br></servlet-mapping>
      <br>und die bestimmt welches Servlet nach Eingabe:
      <br>http://localhost:8080/myapp/xyz.html
      <br>aufgerufen wird!
      <br>Weil die Seite gibt’s nicht, wird selbstverständlich doGet des <br>Servlets: myservlet aufgerufen!

      <br>Vorausetzung (1):
      <br><servlet>
      <br> <servlet-name>myservlet</servlet-name>
      <br> <servlet-class>myapp</servlet-class>
      <br> <!--load-on-startup/-->
      <br></servlet>

      <br>Die Definition-Reihenfolge in der web.xml-Datei: (1)-(2)-(3).
      <br>Auf klein/groß- Buchstaben aufpassen!
      <br>Ich hoffe, daß klappt jetzt auch bei Dir!

      <br>Mit freundlichen Grüßen
      <br>Bogda

      Comment

      Working...
      X