I am trying to connect to a local mysql database from a jsp page. I can
see the datasource defined in the Admin app, however, when I drill down
into the datasources under my webapp, I get this error:
javax.servlet.ServletException: Exception retrieving attribute
'driverClassName'
org.apache.jasper.runtime.PageContextImpl.doHandlePageException (
PageContextImpl.java:867)
org.apache.jasper.runtime.PageContextImpl.handlePageException (
PageContextImpl.java:800)
admin.resources.listDataSources_jsp._jspService(listDataSources_jsp.java:431)
<SNIP>
I have the following server.xml file:
<?xml version='1.0' encoding='utf-8'?>
<Server>
<Listener
className="
org.apache.catalina.mbeans.ServerLifecycleListener"/>
<Listener
className="
org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
<GlobalNamingResources>
<Environment name="simpleValue" type="
java.lang.Integer" value="30"/>
<Resource auth="Container" description="User database that can be
updated and saved" name="UserDatabase"
type="
org.apache.catalina.UserDatabase"/>
<Resource name="mysql-dev1" type="
javax.sql.DataSource"/>
<ResourceParams name="UserDatabase">
<parameter>
<name>factory</name>
<value>
org.apache.catalina.users.MemoryUserDatabaseFactory</value>
</parameter>
<parameter>
<name>pathname</name>
<value>conf/.__users.xml</value>
</parameter>
</ResourceParams>
<ResourceParams name="mysql-dev1">
<parameter>
<name>factory</name>
<value>
org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>100</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<parameter>
<name>username</name>
<value>tomcat5</value>
</parameter>
<parameter>
<name>password</name>
<value>!tomcat5!</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>
org.gjt.mm.mysql.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost:3306/tomcat5?autoReconnect=true</value>
</parameter>
</ResourceParams>
</GlobalNamingResources>
<Service name="Catalina">
<Connector acceptCount="100" connectionTimeout="20000"
disableUploadTimeout="true" port="8080" redirectPort="8443">
</Connector>
<Connector port="8009" protocol="AJP/1.3"
protocolHandlerClassName="
org.apache.jk.server.JkCoyoteHandler"
redirectPort="8443">
</Connector>
<Engine defaultHost="localhost" name="Catalina">
<Host appBase="webapps" name="localhost">
<Logger className="
org.apache.catalina.logger.FileLogger"
prefix="localhost_" timestamp="true"/>
<Valve className="
org.apache.catalina.valves.AccessLogValve"
fileDateFormat="yyyy-MM-dd" prefix="localhost_access_" suffix=".log"/>
</Host>
<Logger className="
org.apache.catalina.logger.FileLogger"
prefix="catalina_" timestamp="true"/>
<Realm className="
org.apache.catalina.realm.UserDatabaseRealm"/>
</Engine>
</Service>
</Server>
****************************************************************************
Here is the webapps/dev1/WEB-INF/web.xml file:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>Dev1 - Test App</display-name>
<description>
Development application: DEV1
</description>
<resource-ref>
<description>mysql-dev1 JDBC Connection</description>
<res-ref-name>mysql-dev1</res-ref-name>
<res-type>
javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
*****************************************************************************
I'm sure it's something stupid I missed.
Thx for any help,
keg
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-user-unsubscribe@(protected)
For additional commands, e-mail: tomcat-user-help@(protected)