Announcement

Collapse
No announcement yet.

JSP und Beans: javax.servlet.ServletException: Cannot create bean of class empQBean

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

  • JSP und Beans: javax.servlet.ServletException: Cannot create bean of class empQBean

    Hallo zusammen,<br>
    mein Problem besteht darin, das ich aus einer JSP-Seite auf eine Java-<br>Klasse zugreifen möchte. Hierzu nutze ich den usebean tag. Die Klasse<br>ist im compile fehlerfrei durchgelaufen und soll einen Datenbankzugriff<br> herstellen. Als Engine nutze ich Tomcat.(Struktur ist auch korrekt, (i hope ).<br>

    &lt;%@page language="java" import="java.sql.*" %&gt;<br>
    &lt;jsp:useBean id="empbean" class="empQBean" scope="page" /></jsp:useBean&gt;<br>

    Dabei bekomme ich folgenden Fehler im Browser beim Aufruf der JSP:<br>

    javax.servlet.ServletException: Cannot create bean of class empQBean<br>

    Kann ich davon ausgehen, dass Tomcat die Klasse findet ?<br>
    hab ich vielleicht bei der Qualifizierung der Klasse einen Fehler gemacht ?oder <br>
    ist vielleicht doch was an der Struktur in Tomcat bei mir falsch ?<br>

    Wäre super, wenn mir da jemand weitehelfen könnte ;-)<br>

    Michael<br>

  • #2
    Wie so oft, etwas wenig Informationen. Deine Fragen kann dir jemand beantworten, der vor kurzem die selbe fehlermeldung hatte oder Hellseher ist.

    >Kann ich davon...?
    Welche Tomcat-Version, wo steht die .class-datei?

    >Hab ich viell...?
    Wie sieht deine Klasse aus, die ersten relevanten Zeilen der Klasse reichen (package, definition, konstruktor)?

    >ist vielleicht doch...?
    Wie sieht die die Stzruktur aus?

    gerhar

    Comment


    • #3
      Vorsicht, Gerhard hat anscheinend seinen schlechten Tag!

      Versuchen wir also, dem Mann mit weniger Text als Gerhard einfach nur zu _helfen_:

      Die Klasse sollte in TOMCAT/WEB-APPS/<your_app>/WEB-INF/classes oder in einem JAR-Archiv unter WEB-INF/lib liegen. Außerdem muß Sie natürlich public sein und einen öffentlichen Leerkonstruktor anbieten. Sie muß vollständig qualifiziert sein (packagename.TheBean), oder das Package wurde mit <page import> importiert.

      Mist, doch zu lang, die Antwort.

      Mit Grüßen aus den laber-boxen des JM (entwickler-forum.de/webx?128@@.ee88de7)

      Pösch

      Comment


      • #4
        Hallo,<br>
        erstmal vielen Dank, das ich so schnell einige tipps bekommen habe.<br>
        In kürze was zu Struktur usw.<br>
        - Ich nutze Tomcat 3.2.1<br>
        - wegen der Struktur hab ich die jsp in ..webapps\root gestellt <br>
        und die java klasse in den darunter liegenden ordner web-inf\classes.<br>
        Auf diese weise wollte ich nur sicher stellen, das Tomcat den Kram auch auf jeden fall finden kann. <br>

        Ich denke, das bei der vollständigen Qualifizierung der Klasse einen Fehler hatte, <br>
        aber das hab ich nochmal geändert.

        Jetzt hab ich nur einen anderen Fehler:<br>

        Internal Servlet Error:

        org.apache.jasper.compiler.ParseException: C:\Java\Tomcat\tomcat-3.2.1\webapps\ROOT\bean.jsp(5,44)<b> Attribute , has no value<b><br>
        at org.apache.jasper.compiler.JspReader.parseAttribut eValue(JspReader.java:499)<br>

        Ist das immer noch was mit der Struktur meiner Dateien ?

        gerhard wollte noch was aus der Klasse sehen:<br>

        <PRE
        import java.sql.*;
        import java.io.*;
        import oracle.sql.*;
        import oracle.jdbc.driver.*;

        public abstract class empQBean
        {
        private String db_driver = "oracle.jdbc.driver.OracleDriver";
        private String db_url = "jdbcracle:thin:@localhost:1521:db,user,pw";</PRE>

        usw.<br>

        hoffe, das ich damit einige offenen Fragen beantworten konnte<br>
        und natürlich, das euch vielleicht auch was zu dem anderen fehler einfällt.<br>

        michael<br&gt

        Comment


        • #5
          > bean.jsp(5,44)

          Wie sieht denn bean.jsp aus

          Comment


          • #6
            hier die relevanten zeilen...<br>

            <PRE>
            <html>
            <head>
            <title>TSC-Tool</title>
            </head>

            <%@page language="java" import="empQBean", "java.sql.*" %>

            <jsp:useBean id="empbean" class="empQBean" scope="page" /></jsp:useBean>
            <jsp:setProperty name="empbean" property="*" /></jsp:useBean>

            <body> usw.

            </PRE&gt

            Comment


            • #7
              hallo michael,

              sorry, das es solange gedauert hat, war auf dienstreise und musste kohle machen.
              <p>Entferne doch mal das schlüsselwort "abstract" aus deiner klassendefinition. Eine abstrake Klasse kann nicht instanziert werden!
              <p>
              gerhar

              Comment


              • #8
                Hallo Gerhard,<br>
                vielenb Dank für Deine Rückmeldung. Konnte das Problem inzwischen<br>
                daurch selbst lösen.<br>
                Weiß auch nicht was mich dabei geritten hat :-)<br>

                Trotzdem Danke !!<br>

                Michael<br&gt

                Comment

                Working...
                X