I am an idiot. You are awesome! Thank you!!!
David Smith-2 wrote: > > Move WEB-INF/context.xml to META-INF/context.xml and restart you webapp. > > -- David > > > On Dec 6, 2008, at 8:00 PM, gstclair <[EMAIL PROTECTED]> wrote: > >> >> I am attempting to configure Tomcat to work with MySQL as described >> on the >> Tomcat site: >> http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html >> >> I am seeing the following error: >> org.apache.jasper.JasperException: javax.servlet.ServletException: >> javax.servlet.jsp.JspException: Unable to get connection, DataSource >> invalid: "org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot >> create JDBC >> driver of class '' for connect URL 'null'" >> org. >> apache. >> jasper. >> servlet.JspServletWrapper.handleJspException(JspServletWrapper.java: >> 522) >> org. >> apache. >> jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398) >> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java: >> 342) >> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) >> javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >> root cause >> >> javax.servlet.ServletException: javax.servlet.jsp.JspException: >> Unable to >> get connection, DataSource invalid: >> "org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC >> driver >> of class '' for connect URL 'null'" >> org. >> apache. >> jasper. >> runtime.PageContextImpl.doHandlePageException(PageContextImpl.java: >> 852) >> org. >> apache. >> jasper. >> runtime.PageContextImpl.handlePageException(PageContextImpl.java:781) >> org.apache.jsp.test_jsp._jspService(test_jsp.java:86) >> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) >> javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >> org. >> apache. >> jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) >> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java: >> 342) >> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) >> javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >> root cause >> >> javax.servlet.jsp.JspException: Unable to get connection, DataSource >> invalid: "org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot >> create JDBC >> driver of class '' for connect URL 'null'" >> org. >> apache. >> taglibs. >> standard. >> tag.common.sql.QueryTagSupport.getConnection(QueryTagSupport.java:276) >> org. >> apache. >> taglibs. >> standard. >> tag.common.sql.QueryTagSupport.doStartTag(QueryTagSupport.java:159) >> org.apache.jsp.test_jsp._jspx_meth_sql_005fquery_005f0(test_jsp.java: >> 107) >> org.apache.jsp.test_jsp._jspService(test_jsp.java:63) >> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) >> javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >> org. >> apache. >> jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374) >> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java: >> 342) >> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267) >> javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >> >> I am using the following software versions: >> Tomcat 6.0.16 >> MySQL 5.1.30 >> mysql-connector-java-5.1.7-bin.jar (jar file located at >> $CATALINA_HOME/lib) >> Taglib 1.1 (jstl.jar and standard.jar located at webapps/DBTest/lib) >> >> My webapps/DBTest is using the following files: >> /test.jsp: >> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> >> <%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %> >> >> <sql:query var="rs" dataSource="jdbc/TestDB"> >> select id, foo, bar from testdata >> </sql:query> >> <html> >> <head> >> <title>DB Test</title> >> </head> >> <body> >> <h2>Results</h2> >> <c:forEach var="row" items="${rs.rows}"> >> Foo ${row.foo}<br/> >> Bar ${row.bar}<br/> >> </c:forEach> >> </body> >> </html> >> >> /WEB-INF/context.xml: >> <Context path="/DBTest" docBase="DBTest" >> debug="5" reloadable="true" crossContext="true"> >> <Resource name="jdbc/TestDB" auth="Container" >> type="javax.sql.DataSource" >> maxActive="100" maxIdle="30" maxWait="10000" >> username="javauser" password="javadude" >> driverClassName="com.mysql.jdbc.Driver" >> url="jdbc:mysql://localhost:3306/javatest?autoReconnect=true"/> >> </Context> >> >> /WEB-INF/web.xml: >> <web-app 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" >> version="2.4"> >> <description>MySQL Test App</description> >> <resource-ref> >> <description>DB Connection</description> >> <res-ref-name>jdbc/TestDB</res-ref-name> >> <res-type>javax.sql.DataSource</res-type> >> <res-auth>Container</res-auth> >> </resource-ref> >> </web-app> >> >> >> Can anybody help me troubleshoot this? I have searched other threads >> all >> week, and none of the other suggestions seem to help. I have tested >> the JDBC >> connection through a small java program (and copied the connector >> jar file >> into the Java/Extensions folder), and that worked fine. I am >> assuming it is >> something with my web.xml and context.xml setup. Any help would be >> greatly >> appreciated! >> >> >> I have not modified the server.xml and context.xml files in >> $CATALINA_HOME/conf >> My server.xml file is: >> <?xml version='1.0' encoding='utf-8'?> >> <!-- >> Licensed to the Apache Software Foundation (ASF) under one or more >> contributor license agreements. See the NOTICE file distributed with >> this work for additional information regarding copyright ownership. >> The ASF licenses this file to You under the Apache License, Version >> 2.0 >> (the "License"); you may not use this file except in compliance with >> the License. You may obtain a copy of the License at >> >> http://www.apache.org/licenses/LICENSE-2.0 >> >> Unless required by applicable law or agreed to in writing, software >> distributed under the License is distributed on an "AS IS" BASIS, >> WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or >> implied. >> See the License for the specific language governing permissions and >> limitations under the License. >> --> >> <!-- Note: A "Server" is not itself a "Container", so you may not >> define subcomponents such as "Valves" at this level. >> Documentation at /docs/config/server.html >> --> >> <Server port="8005" shutdown="SHUTDOWN"> >> >> <!--APR library loader. Documentation at /docs/apr.html --> >> <Listener className="org.apache.catalina.core.AprLifecycleListener" >> SSLEngine="on" /> >> <!--Initialize Jasper prior to webapps are loaded. Documentation at >> /docs/jasper-howto.html --> >> <Listener className="org.apache.catalina.core.JasperListener" /> >> <!-- JMX Support for the Tomcat server. Documentation at >> /docs/non-existent.html --> >> <Listener >> className="org.apache.catalina.mbeans.ServerLifecycleListener" /> >> <Listener >> className= >> "org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> >> >> <!-- Global JNDI resources >> Documentation at /docs/jndi-resources-howto.html >> --> >> <GlobalNamingResources> >> <!-- Editable user database that can also be used by >> UserDatabaseRealm to authenticate users >> --> >> <Resource name="UserDatabase" auth="Container" >> type="org.apache.catalina.UserDatabase" >> description="User database that can be updated and saved" >> factory="org.apache.catalina.users.MemoryUserDatabaseFactory" >> pathname="conf/tomcat-users.xml" /> >> </GlobalNamingResources> >> >> <!-- A "Service" is a collection of one or more "Connectors" that >> share >> a single "Container" Note: A "Service" is not itself a "Container", >> so you may not define subcomponents such as "Valves" at this level. >> Documentation at /docs/config/service.html >> --> >> <Service name="Catalina"> >> >> <!--The connectors can use a shared executor, you can define one or >> more >> named thread pools--> >> <!-- >> <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" >> maxThreads="150" minSpareThreads="4"/> >> --> >> <!-- A "Connector" represents an endpoint by which requests are >> received >> and responses are returned. Documentation at : >> Java HTTP Connector: /docs/config/http.html (blocking & non-blocking) >> Java AJP Connector: /docs/config/ajp.html >> APR (HTTP/AJP) Connector: /docs/apr.html >> Define a non-SSL HTTP/1.1 Connector on port 8080 >> --> >> <Connector port="8080" protocol="HTTP/1.1" >> connectionTimeout="20000" >> redirectPort="8443" /> >> <!-- A "Connector" using the shared thread pool--> >> <!-- >> <Connector executor="tomcatThreadPool" >> port="8080" protocol="HTTP/1.1" >> connectionTimeout="20000" >> redirectPort="8443" /> >> --> >> <!-- Define a SSL HTTP/1.1 Connector on port 8443 >> This connector uses the JSSE configuration, when using APR, the >> connector should be using the OpenSSL style configuration >> described in the APR documentation --> >> <!-- >> <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" >> maxThreads="150" scheme="https" secure="true" >> clientAuth="false" sslProtocol="TLS" /> >> --> >> >> <!-- Define an AJP 1.3 Connector on port 8009 --> >> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> >> <!-- An Engine represents the entry point (within Catalina) that >> processes >> every request. The Engine implementation for Tomcat stand alone >> analyzes the HTTP headers included with the request, and passes them >> on to the appropriate Host (virtual host). >> Documentation at /docs/config/engine.html --> >> >> <!-- You should set jvmRoute to support load-balancing via AJP ie : >> <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1"> >> --> >> <Engine name="Catalina" defaultHost="localhost"> >> >> <!--For clustering, please take a look at documentation at: >> /docs/cluster-howto.html (simple how to) >> /docs/config/cluster.html (reference documentation) --> >> <!-- >> <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> >> --> >> >> <!-- The request dumper valve dumps useful debugging information about >> the request and response data received and sent by Tomcat. >> Documentation at: /docs/config/valve.html --> >> <!-- >> <Valve className="org.apache.catalina.valves.RequestDumperValve"/> >> --> >> >> <!-- This Realm uses the UserDatabase configured in the global JNDI >> resources under the key "UserDatabase". Any edits >> that are performed against this UserDatabase are immediately >> available for use by the Realm. --> >> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" >> resourceName="UserDatabase"/> >> >> <!-- Define the default virtual host >> Note: XML Schema validation will not work with Xerces 2.2. >> --> >> <Host name="localhost" appBase="webapps" >> unpackWARs="true" autoDeploy="true" >> xmlValidation="false" xmlNamespaceAware="false"> >> >> <!-- SingleSignOn valve, share authentication between web applications >> Documentation at: /docs/config/valve.html --> >> <!-- >> <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> >> --> >> >> <!-- Access log processes all example. >> Documentation at: /docs/config/valve.html --> >> <!-- >> <Valve className="org.apache.catalina.valves.AccessLogValve" >> directory="logs" >> prefix="localhost_access_log." suffix=".txt" pattern="common" >> resolveHosts="false"/> >> --> >> </Host> >> </Engine> >> </Service> >> </Server> >> >> my context.xml file (in $CATALINA_HOME/conf) is: >> <?xml version='1.0' encoding='utf-8'?> >> <!-- The contents of this file will be loaded for each web >> application --> >> <Context> >> <!-- Default set of monitored resources --> >> <WatchedResource>WEB-INF/web.xml</WatchedResource> >> </Context> >> >> -- >> View this message in context: >> http://www.nabble.com/Tomcat----MySQL-Error%3A--Invalid-DataSource-tp20876682p20876682.html >> Sent from the Tomcat - User mailing list archive at Nabble.com. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > -- View this message in context: http://www.nabble.com/Tomcat----MySQL-Error%3A--Invalid-DataSource-tp20876682p20879343.html Sent from the Tomcat - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]