Announcement

Collapse
No announcement yet.

HTTP Status 500 in Tomcat-Servlet Exceptions

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

  • HTTP Status 500 in Tomcat-Servlet Exceptions

    Hallo Leute,

    ich habe versucht mir einen Tomcat Server zu erstellen, bekomme jedoch immer diese Exception geworfen und weiß nicht, was ich damit anfangen soll. Wär nett, wenn mir jemand die Fehlermeldungen grob erklären könnte und wie man diese behebt.


    Nebenbei:

    Ich arbeite mit der Eclipse IDE und die Tomcat Version ist die 7.0


    Hier die Exception:

    Code:
    javax.servlet.ServletException: Servlet.init() for servlet web.ClickerServlet threw exception
    	org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
    	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    	org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
    	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399)
    	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317)
    	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
    	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:182)
    	org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
    	java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    	java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	java.lang.Thread.run(Unknown Source)
    
    
    root cause 
    
    java.lang.NoClassDefFoundError: javax/mail/Part
    	web.ClickerServlet.init(ClickerServlet.java:52)
    	org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
    	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    	org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
    	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399)
    	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317)
    	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
    	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:182)
    	org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
    	java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    	java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	java.lang.Thread.run(Unknown Source)
    
    
    root cause 
    
    java.lang.ClassNotFoundException: javax.mail.Part
    	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
    	org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
    	web.ClickerServlet.init(ClickerServlet.java:52)
    	org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
    	org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    	org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563)
    	org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399)
    	org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317)
    	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)
    	org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:182)
    	org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311)
    	java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    	java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    	java.lang.Thread.run(Unknown Source)
    Muss dieses Projekt am Dienstag nächste Woche bereits fertig haben, deshalb hoffe ich auf eine baldige Hilfe und bedanke mich schon einmal im vorraus


    Gruß

    e-styles

  • #2
    Der Download, das Entpacken und der Start des Servers führen - ohne das ein Programm deployt wurde - zu diesem Fehler?

    Wenn eine Webanwendung deployt wurde -> wie sieht die web.xml aus?
    Christian

    Comment


    • #3
      Genau, nachdem ich versuche das Servlet zu starten, kommt diese Exception auf mich zu. Also der Tomcat Server an sich startet ohne Probleme (nehme ich mal an). Hier ist zur Überprüfung noch das was passiert, bevor das eigentliche Programm startet:

      Code:
      25.07.2011 19:13:15 org.apache.catalina.core.AprLifecycleListener init
      INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre6\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre6/bin/client;C:/Program Files/Java/jre6/bin;C:/Program Files/Java/jre6/lib/i386;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;
      25.07.2011 19:13:15 org.apache.tomcat.util.digester.SetPropertiesRule begin
      WARNUNG: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:ClickerServlet' did not find a matching property.
      25.07.2011 19:13:16 org.apache.coyote.AbstractProtocolHandler init
      INFO: Initializing ProtocolHandler ["http-bio-8080"]
      25.07.2011 19:13:16 org.apache.coyote.AbstractProtocolHandler init
      INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
      25.07.2011 19:13:16 org.apache.catalina.startup.Catalina load
      INFO: Initialization processed in 2041 ms
      25.07.2011 19:13:16 org.apache.catalina.core.StandardService startInternal
      INFO: Starting service Catalina
      25.07.2011 19:13:16 org.apache.catalina.core.StandardEngine startInternal
      INFO: Starting Servlet Engine: Apache Tomcat/7.0.14
      25.07.2011 19:13:17 org.apache.catalina.util.SessionIdGenerator createSecureRandom
      INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [139] milliseconds.
      25.07.2011 19:13:18 org.apache.coyote.AbstractProtocolHandler start
      INFO: Starting ProtocolHandler ["http-bio-8080"]
      25.07.2011 19:13:18 org.apache.coyote.AbstractProtocolHandler start
      INFO: Starting ProtocolHandler ["ajp-bio-8009"]
      25.07.2011 19:13:18 org.apache.catalina.startup.Catalina start
      INFO: Server startup in 2255 ms
      25.07.2011 19:13:19 org.apache.catalina.core.ApplicationContext log
      SCHWERWIEGEND: StandardWrapper.Throwable
      Direkt nach dem "Schwerwiegend" kommt die oben genannte Exception.

      Eine XML-Datei ist zwar vorhanden, jedoch ist die ziemlich klein und ich denke, dass dies nicht richtig ist, da der Beispielcode unseres Dozenten viel mehr Inhalt besitzt als diese:

      XML-Datei:

      Code:
      <?xml version="1.0" encoding="UTF-8"?>
      <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
        <display-name>ClickerServlet</display-name>
        <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>

      Gruß

      e-styles

      Comment


      • #4
        Es gibt offenbar ein Servlet mit dem Namen ClickerServlet. Dort wurde wohl etwas in die init-Methode geschrieben, welches die Klasse javax.mail.Part benötigt. Diese Klasse gehört zu JAVAMAIL. Diese Lib ist dem Server zur Laufzeit nicht bekannt

        Das jar von JavaMail muss im Ordner WEB-INF/lib der Webanwendung abgelegt werden.

        Das Mapping des Servlets fehlt in der web.xml

        <servlet>
        <servlet-name>NewServlet</servlet-name>
        <servlet-class>NewServlet</servlet-class>
        </servlet>
        <servlet-mapping>
        <servlet-name>NewServlet</servlet-name>
        <url-pattern>/NewServlet</url-pattern>
        </servlet-mapping>

        oder wurde es annotiert mit

        @WebServlet(name="NewServlet",urlPatterns=
        {
        "/NewServlet"
        })
        Zuletzt editiert von Christian Marquardt; 25.07.2011, 20:36.
        Christian

        Comment


        • #5
          mailapi + provider

          Christian hat's schon gesagt. Du brauchst die jars für Javamail. Die gibt es hier zum Download: http://www.oracle.com/technetwork/ja...ex-138643.html

          Das heruntergeladene zip-file entpacken und in den lib ordner gehen. Dort findest Du mehrere jars. Das mailapi.jar brauchst Du immer. Die anderen jars je nachdem, was Du machen willst. Wenn dein ClickerServlet Mails verschicken können soll, brauchst Du noch das smtp.jar. Wenn es von einem pop3 oder imap-Mailserver Mails abrufen soll, brauchst Du das entsprechende jar.
          http://www.winfonet.eu

          Comment


          • #6
            Dort findest Du mehrere jars. Das mailapi.jar brauchst Du immer. Die anderen jars je nachdem, was Du machen willst. Wenn dein ClickerServlet Mails verschicken können soll, brauchst Du noch das smtp.jar. Wenn es von einem pop3 oder imap-Mailserver Mails abrufen soll, brauchst Du das entsprechende jar.
            Bist du sicher? mailapi.jar enthält alle Klassen....
            Zuletzt editiert von Christian Marquardt; 26.07.2011, 17:02.
            Christian

            Comment


            • #7
              Danke für die schnellen Antworten, jedoch habe ich leider immer noch diese NoClassDefFoungException, obwohl ich die Jar-Dateien aus Javamail/lib in den Ordner \WebContent\WEB-INF\lib kopiert habe. Im prinzip soll das Servlet die Mails auslesen und verarbeiten, jedoch keine versenden. Noch eine Idee?

              Nebenbei ist hier noch ein Screen, auf dem Fehler von JSP Dateien innerhalb des JavaMail Ordners zu sehen sind, was können diese bedeuten?

              http://imageshack.us/f/593/javamailfehler01.png/

              Und hier noch ein Teil des Fehlerhaften Codes der Datei folders.jsp:

              http://imageshack.us/f/593/javamailfehler02.png/


              1. Fehler:

              The import demo cannot be resolved
              2: Fehler:

              Undefined type: demo.MailUserBean

              Wär super wenn mir jemand bei diesem komischen Problem helfen kann, hab nämlich noch nie was mit Servlets zu tun gehabt, aber trotzdem müssen wir dieses in unserem Programm machen


              Gruss

              e-styles
              Zuletzt editiert von e-styles; 27.07.2011, 18:16.

              Comment


              • #8
                Originally posted by Christian Marquardt View Post
                Bist du sicher? mailapi.jar enthält alle Klassen....
                Ja und nein ;-)) Im lib Ordner sind die jars in mehrere aufgeteilt. Macht auch Sinn. Wozu brauche ich imap, wenn ich nur Mails versenden will, wozu pop3, wenn mein Mailserver auch imap kann? AAAber und das habe ich übersehen und das meintest Du wahrscheinlich. Im Hauptordner gibt es ein mail.jar. Und da ist alles drinnen.

                Dank und Gruß ngomo
                http://www.winfonet.eu

                Comment


                • #9
                  Du willst demo.MailuserBean in der jsp benutzen, aber er kann sie nicht finden. Das kann bedeuten, dass es sie nicht gibt. Nachdem es aber wie eine Deiner eigenen Klassen aussieht, wird es den SOURCE-Code wahrscheinlich geben, dieser wird entweder garnicht oder nicht so kompiliert, dass die jsps die class Dateien finden. Welche IDE benutzt Du? Falls Eclipse, dann geh auf den Haupordner des Projekts, dann rechte Maustaste "Properties", dann "Java Build Path" dort siehst Du, welche jars eingebunden sind, in welchen Ordnern die Sourcen liegen, die auch kompiliert werden und wohin das ganze kompiliert wird.
                  http://www.winfonet.eu

                  Comment

                  Working...
                  X