Return-Path: Delivered-To: apmail-tomcat-users-archive@www.apache.org Received: (qmail 41551 invoked from network); 18 Jul 2009 20:35:47 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 18 Jul 2009 20:35:47 -0000 Received: (qmail 15816 invoked by uid 500); 18 Jul 2009 20:36:48 -0000 Delivered-To: apmail-tomcat-users-archive@tomcat.apache.org Received: (qmail 15740 invoked by uid 500); 18 Jul 2009 20:36:48 -0000 Mailing-List: contact users-help@tomcat.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Tomcat Users List" Delivered-To: mailing list users@tomcat.apache.org Received: (qmail 15729 invoked by uid 99); 18 Jul 2009 20:36:48 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 18 Jul 2009 20:36:48 +0000 X-ASF-Spam-Status: No, hits=2.2 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of lucasvickers@gmail.com designates 72.14.220.158 as permitted sender) Received: from [72.14.220.158] (HELO fg-out-1718.google.com) (72.14.220.158) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 18 Jul 2009 20:36:40 +0000 Received: by fg-out-1718.google.com with SMTP id e12so305935fga.17 for ; Sat, 18 Jul 2009 13:36:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type; bh=nOQW3tYoGuLuRZ8+1VS2sv1yeDBXaIKl668R4CPXm2w=; b=LpBGy+ZXsJSlngDp1874++4HZ7hX+jC4PqP0rrjkfVMb3/fTzck2hLgrXviTaV1bTa yAwEyCcL2xkWgSywfwMjoZYQ2xgq78d7rMXi3tbBlkpEIyVLfINv4rQTK5QpGkTsYivL uC8AFKMaatwL6xwBrzluACb5Axany8QfGp0+o= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=G4B+u4sN+cMLMe/HhNJkdJTHXFwMQbSF86FrDn2DSd0l7jGb0HhWAZ/7HnCweBpXWk EjbUhjqBc70xyZ4ivoHGp6fit3o+4ZVfrBILpORCZQB3IaZvyLQ/K3SkVRlS+cC6o8hF 3eiqumXV+pgOVSZKDr/BnOpzvk9SQd+BWGnfY= MIME-Version: 1.0 Received: by 10.86.90.13 with SMTP id n13mr1955532fgb.45.1247949378877; Sat, 18 Jul 2009 13:36:18 -0700 (PDT) Date: Sat, 18 Jul 2009 16:36:18 -0400 Message-ID: <4e6e55300907181336g86fbe0bl469778dc6cacf04f@mail.gmail.com> Subject: Tomcat 6 database pooling causes HttpServlet class not found exception From: Lucas Vickers To: Tomcat Users List Content-Type: multipart/alternative; boundary=000e0cd24a0c6cfcab046f00db3a X-Virus-Checked: Checked by ClamAV on apache.org --000e0cd24a0c6cfcab046f00db3a Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hello, I am trying to configure DB pooling in Tomcat 6. The combination of the elements below causes the exception: java.lang.ClassNotFoundException: javax.servlet.http.HttpServlet I have followed the directions on http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html thoroughly so I am confused. The only thing I am doing a little different is I have placed my db resource in the conf/context.xml , but I have also seen the same issue when placed in my META-INF/context.xml Any ideas will be greatly appreciated! I think it's the entry in context.xml that causes the issue. ** conf/context.xml: ** webapp/tabs/WEB-INF/web.xml: TABS DB Connection jdbc/tabscorp_tabsdb javax.sql.DataSource Container ** Java code: //use the pool InitialContext cxt = new InitialContext(); if ( cxt == null ) { throw new Exception("InitialContext is NULL"); } DataSource ds = (DataSource) cxt.lookup( "java:/comp/env/jdbc/tabscorp_tabsdb" ); if ( ds == null ) { throw new Exception("Data source not found"); } Connection conn = ds.getConnection(); stmt = connection.createStatement(); ** Full Exception: HTTP Status 500 - type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception javax.servlet.ServletException: Error allocating a servlet instance org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) java.lang.Thread.run(Thread.java:619) root cause java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet java.lang.ClassLoader.defineClass1(Native Method) java.lang.ClassLoader.defineClass(ClassLoader.java:621) java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) java.net.URLClassLoader.defineClass(URLClassLoader.java:260) java.net.URLClassLoader.access$000(URLClassLoader.java:56) java.net.URLClassLoader$1.run(URLClassLoader.java:195) java.security.AccessController.doPrivileged(Native Method) java.net.URLClassLoader.findClass(URLClassLoader.java:188) java.lang.ClassLoader.loadClass(ClassLoader.java:307) sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) java.lang.ClassLoader.loadClass(ClassLoader.java:252) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1302) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) java.lang.Thread.run(Thread.java:619) root cause java.lang.ClassNotFoundException: javax.servlet.http.HttpServlet java.net.URLClassLoader$1.run(URLClassLoader.java:200) java.security.AccessController.doPrivileged(Native Method) java.net.URLClassLoader.findClass(URLClassLoader.java:188) java.lang.ClassLoader.loadClass(ClassLoader.java:307) sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) java.lang.ClassLoader.loadClass(ClassLoader.java:252) java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) java.lang.ClassLoader.defineClass1(Native Method) java.lang.ClassLoader.defineClass(ClassLoader.java:621) java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) java.net.URLClassLoader.defineClass(URLClassLoader.java:260) java.net.URLClassLoader.access$000(URLClassLoader.java:56) java.net.URLClassLoader$1.run(URLClassLoader.java:195) java.security.AccessController.doPrivileged(Native Method) java.net.URLClassLoader.findClass(URLClassLoader.java:188) java.lang.ClassLoader.loadClass(ClassLoader.java:307) sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) java.lang.ClassLoader.loadClass(ClassLoader.java:252) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1302) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) java.lang.Thread.run(Thread.java:619) note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs. Apache Tomcat/6.0.20 --000e0cd24a0c6cfcab046f00db3a--