Announcement

Collapse
No announcement yet.

ClassNotFound in Servlet

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

  • ClassNotFound in Servlet

    Hallo zusammen,

    ich weiss, dass das Thema schon des öfteren hier behandelt wurde. Allerdings finde ich keinen passenden Beitrag. Ich habe versuche mit TomCat 4.0 ein Servlet aufzurufen, das folgendermaßen aussieht:
    </PRE>
    public class Servlet extends HttpServlet {<br>
    <br>
    public void doGet(HttpServletRequest request,<br>
    HttpServletResponse response)<br>
    throws IOException, ServletException<br>
    {<br>
    ResourceBundle rb =<br>
    ResourceBundle.getBundle("LocalStrings",request.ge tLocale());<br>
    response.setContentType("text/html");<br>
    PrintWriter out = response.getWriter();<br>
    try {<br>
    Class.forName("org.gjt.mm.mysql.Driver");<br>
    } catch(Exception ex) {ex.printStackTrace();}<br>
    out.println("<html>");.......<br>
    <br>
    </PRE>

    Jetzt bekomme ich auf der Konsole die Fehlermeldung "ClassNotFound org.gjt.mm.mysql". Wo muss ich diese Bibliotheken ablegen, so dass TomCat diese findet. Ich habe die Biblothek in das Klassenverzeichnis und in das Catalina_Home Verzeichnis gelegt. Funktioniert abertrotzdem nicht. Kann mir hier jemand helfen. Vielen Dank schon mal im Voraus.

    Gruss
    Thomas

  • #2
    Es gibt meherer Möglichkeiten:
    <ul>
    <li>direkt in der Webapplikation in WEB-INF/lib
    <li>in $CATALINA_HOME/shared/lib
    <li>in $CATALINA_HOME/common/lib
    </ul>
    Für Details schau Dir das Classloader Howto an, liegt bei den Tomcat Docs.

    Stefa

    Comment


    • #3
      Hi,

      in deinem Beispiel sieht es so aus, als würde
      lediglich deine einzelne Webanwendung den
      MySQL-Treiber benötigen. In diesem Fall solltest du
      das jar-File nach WEB-INF/lib in deinem Kontext
      legen. Soll der Treiber auch in anderen
      Webanwendungen genutzt werden, so solltest du ihn
      nach $CATALINA_HOME/shared/lib legen.

      Empfehlenswert ist der Einsatz von Resourcen über
      JNDI. In diesem Fall wird der Treiber vom
      Servlet-Container selbst benötigt. In diesem muss
      das jar-File nach $CATALINE_HOME/common/lib.

      Ich hoffe, ich konnte etwas Licht ins Dunkel bringen
      ;-).

      Ciao,
      Mi

      Comment

      Working...
      X