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]

Reply via email to