tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
8
ZUGRIFFE
602
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    kle-ben kle-ben ist offline Mitglied Brokat
    Registriert seit
    Oct 2004
    Beiträge
    492
    Hi,
    ich versuch gerade ein Servlet zu erstellen hab da aber eingige Probleme.


    Was ich bis jetzt gemacht hab : ( siehe Bild-Anhang )
    File->New Project->Tomcat Project
    Dann in den Ordner WEB-INF/src ein Packege servlet und ein e Klasse ITServlet.
    Jetzt hab in der ServerView einen neuen Server angelegt und versucht dem mein
    Servlet hinzuzufügen. Aber das geht nicht, bekomme folgenden Fehler :

    java.lang.NoClassDefFoundError: org/apache/catalina/startup/Bootstrap
    Exception in thread "main"

    Dann hab ich auch noch eine web.xml angelegt weil ich gelesen hab das man
    die braucht.
    Meine sieht so aus:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app>
        <servlet> 
            <servlet-name>myservlet</servlet-name>
            <servlet-class>servlet.ITServlet</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>myservlet</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
    </web-app>
    Ist das soweit richtig ?
    Dann ist da noch ein Servers-Projekt was vorher nicht da war.( auch auf dem Bild )
    Wurde das angelegt als ich ein TomcatProjekt erzeugt hab, oder kommt das daher das ich den Tomcat gerade zuvor eingerichtet hab Hab da leider nicht drauf geachtet.
    Hat das was mit meinem Servlet zu tun?

    Ich hab gesehn das man unter new auch direkt ein Servlet erstellen kann.
    Hat das irgendwelche vorteile ? Als ich es versucht habe hat es nicht funktioniert
    weil ich es meinem Tomcat-Project nicht zuordnen konnte.

    Benny
    Miniaturansicht angehängter Grafiken Miniaturansicht angehängter Grafiken Probleme beim Servlet erstellen + Fragen-directory.jpg  
     
    Theorie ist Wissen, das nicht funktioniert.
    Praxis ist, wenn alles funktioniert und man weiß nicht warum

  2. #2
    kle-ben kle-ben ist offline Mitglied Brokat
    Registriert seit
    Oct 2004
    Beiträge
    492
    Also ich hab jetzt mal ein Webprojekt erstellt und dann
    mein Servlet da rein getan. Nun kan ich das auch einem
    Server zuordnen. Leider kann ich immer noch nicht drauf
    zugreifen. Meine web.xml sieht jetzt so aus:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
        <display-name>
        WebServlet</display-name>
        <servlet>
            <description>
            </description>
            <display-name>
            ITServlet</display-name>
            <servlet-name>ITServlet</servlet-name>
            <servlet-class>
            it.servlet.ITServlet</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>ITServlet</servlet-name>
            <url-pattern>/ITServlet</url-pattern>
        </servlet-mapping>
        <welcome-file-list>
            <welcome-file>index.html</welcome-file>
            <welcome-file>index.htm</welcome-file>
            <welcome-file>index.jsp</welcome-file>
            <welcome-file>default.html</welcome-file>
            <welcome-file>default.htm</welcome-file>
            <welcome-file>default.jsp</welcome-file>
        </welcome-file-list>
    </web-app>

    Kann mir jemand sagen wieich jetzt mein Servlet ansprechen kann?

    Benny
     
    Theorie ist Wissen, das nicht funktioniert.
    Praxis ist, wenn alles funktioniert und man weiß nicht warum

  3. #3
    JADO JADO ist offline Rookie
    Registriert seit
    May 2006
    Beiträge
    6
    hallo kle-ben
    hier kannst du eine gute hilfe finden.
     

  4. #4
    JADO JADO ist offline Rookie
    Registriert seit
    May 2006
    Beiträge
    6
     

  5. #5
    kle-ben kle-ben ist offline Mitglied Brokat
    Registriert seit
    Oct 2004
    Beiträge
    492
    Hi,
    ich hab jetzt beide Varianten ausprobiert:
    1. Standard-Servlet-Mapping : conf/web.xml -> freischalten.
    2. WEB-INF/web.xml

    und keine funktioniert.

    Zuvor steht da noch das ich das Servlet in das classes verzeichnis bringen soll.
    Wenn ich unter WEB-INF einen Ordner classes und einen Ordner src erstelle kann
    ich da aber meine Servlet nicht reinschieben.
    Liegt das daran das ich in mienem Projekt ein Source-Folder hab ?

    Danke schon mal,

    Gruß Benny
     
    Theorie ist Wissen, das nicht funktioniert.
    Praxis ist, wenn alles funktioniert und man weiß nicht warum

  6. #6
    JADO JADO ist offline Rookie
    Registriert seit
    May 2006
    Beiträge
    6
    moin,

    dein ServletIT Projekt ist wirklich irgendwie nicht richtig aufgebaut. 'src' hat in WEB-INF nichts zu suchen. Versuche dein Projekt noch mal anlegen. Im Grunde genommen, wenn du mit Eclipse alles richtig machst, dann muss dein Deploy auch o.k sein.

    Wenn weiterhin dein Servlet nicht läuft, dann zeige bitte hier, wie dein deploy aussieht und was Server da mekart.
    Ah, was für Server verwendest du? Nur Tomcat?

     

  7. #7
    kle-ben kle-ben ist offline Mitglied Brokat
    Registriert seit
    Oct 2004
    Beiträge
    492
    Morgen.

    Also mein Verzeichnis sieht so aus wie im Anhang.
    ( Hab nur noch mal ein paar Sachen umgenannt )

    Das steht im tollen Insel Buch auf das du oben verlinkt hast:
    Beispiel Arbeiten wir mit einem Eclipse-Plugin, müssen wir uns um diese Probleme nicht kümmern. Wie legen einfach das Servlet unter WEB-INF/src ab, und es wird somit automatisch unter WEB-INF/classes compiliert.
    Ich hab diese Ordner auch garnicht.

    Ich hab in der web.xml von meinem Tomcat 5.5 die Auskommentierung
    von diesen beiden Blöcken gemacht:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
     <servlet>
            <servlet-name>invoker</servlet-name>
            <servlet-class>
              org.apache.catalina.servlets.InvokerServlet
            </servlet-class>
            <init-param>
                <param-name>debug</param-name>
                <param-value>0</param-value>
            </init-param>
            <load-on-startup>2</load-on-startup>
    </servlet>

    Code :
    1
    2
    3
    4
    
    <servlet-mapping>
            <servlet-name>invoker</servlet-name>
            <url-pattern>/servlet/*</url-pattern>
        </servlet-mapping>

    Und dann hab ich versucht das Servlet wie folgt aufzurufen:
    http://localhost:8080/jt/servlet/it.servlet.MyServlet

    Dann bekomm ich von meinem Tomcat ein 404 not available zurück.

    Wenn ich jetzt die Selben Blöcke in der web.xml von dem
    Servers-Projekt ( das ich nicht weis wo es herkommt ) freischalte
    hat das genau den selben Effekt.
    Kann das sein das dieses Servers Projekt angelegt wurde als ich
    in der Server-View von Eclipse einen neuen Server instanziiert hab,
    und das diese Konfigurationsdateien in dem Projekt genau für
    den gelten? Weil die sind unabhängig von den xml Dateien im
    conf Ordner meines Tomcats.

    Dann hab ich mit der web.xml aus meinem WEB-INF Ordner
    versucht das Servlet über :
    http://localhost:8080/jt/it.servlet.MyServlet
    zu starten. Aber ich bekomme ebenfalls ein 404 not available zurück.

    Benny
    Angehängte Grafiken Angehängte Grafiken  
     
    Theorie ist Wissen, das nicht funktioniert.
    Praxis ist, wenn alles funktioniert und man weiß nicht warum

  8. #8
    Avatar von zerix
    zerix zerix ist offline Hausmeister
    tutorials.de Moderator
    Registriert seit
    May 2005
    Beiträge
    4.335
    Hallo,

    hast du mal so versucht dein Servlet aufzurufen.
    Code :
    1
    
    http://localhost:8080/NameDesProjektordners/ITServlet

    So müsste es funktionieren. Also der Name das Projekt ordners ist der Name des Ordners in deinem Web-App-Verzeichnis.

    MFG

    zEriX
     
    Es ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)

  9. #9
    kle-ben kle-ben ist offline Mitglied Brokat
    Registriert seit
    Oct 2004
    Beiträge
    492
    Hi,
    Es funktioniert endlich danke euch beiden !!

    Aber eine Frage hab ich noch:
    Liegt das jetzt an der web.xml in meinem Projekt oder
    an den Einstellungen an in meinem Tomcat das ich das so
    aufrufen kann?

    Danke,

    Gruß Benny.
     
    Theorie ist Wissen, das nicht funktioniert.
    Praxis ist, wenn alles funktioniert und man weiß nicht warum

Ähnliche Themen

  1. Probleme beim laden von Variablen vom Servlet
    Von cowo im Forum Flash Plattform
    Antworten: 3
    Letzter Beitrag: 30.11.06, 16:40
  2. Antworten: 2
    Letzter Beitrag: 03.10.05, 17:33
  3. Probleme beim Erstellen von XSL
    Von nat81 im Forum XML Technologien
    Antworten: 5
    Letzter Beitrag: 30.11.04, 06:57
  4. Probleme beim Menü erstellen
    Von Julia Imp. im Forum HTML & XHTML
    Antworten: 6
    Letzter Beitrag: 10.10.04, 14:47
  5. Probleme beim Menü erstellen
    Von DjCane im Forum Flash Plattform
    Antworten: 3
    Letzter Beitrag: 20.01.04, 14:56