Paul Maxted wrote:
> Hello, I need some help with my database access application.
> 
> I am running Tomcat 6.0.16-6.4 installed from the OpenSUSE repositories. I am 
> trying to connect to MySQL 5.0.51a-27.2.
> I have mysql-connector-java-5.1.7-bin.jar in the tomcat6/lib directory.
> 
> I have not modified server.xml or context.xml in tomcat6/conf - I include 
> them for reference

why bother then?  yawn, scroll, yawn, scroll, yawn, scroll.

> 
> My application 'AuthExample' is deployed as a war file which expands to ...
> <code>
> total 40
> drwxr-sr-x 2 tomcat tomcat 4096 Mar  3 13:24 META-INF
> drwxr-sr-x 4 tomcat tomcat 4096 Mar  3 13:24 WEB-INF
> -rw-r--r-- 1 tomcat tomcat 8293 Mar  3 13:23 index.jsp
> -rw-r--r-- 1 tomcat tomcat  448 Mar  3 13:23 process2.jsp
> -rw-r--r-- 1 tomcat tomcat  243 Mar  3 13:23 retry.jsp
> -rw-r--r-- 1 tomcat tomcat  251 Mar  3 13:23 success.jsp
> -rw-r--r-- 1 tomcat tomcat 6493 Mar  3 13:23 webtoolkit.md5.js
> 
> ./META-INF:
> total 8
> -rw-r--r-- 1 tomcat tomcat 102 Mar  3 13:23 MANIFEST.MF
> -rw-r--r-- 1 tomcat tomcat 378 Mar  3 13:23 context.xml
> 
> ./WEB-INF:
> total 12
> drwxr-sr-x 3 tomcat tomcat 4096 Mar  3 13:24 classes
> drwxr-sr-x 2 tomcat tomcat 4096 Mar  3 13:24 lib
> -rw-r--r-- 1 tomcat tomcat  945 Mar  3 13:23 web.xml
> 
> ./WEB-INF/classes:
> total 4
> drwxr-sr-x 3 tomcat tomcat 4096 Mar  3 13:24 com
> 
> ./WEB-INF/classes/com:
> total 4
> drwxr-sr-x 2 tomcat tomcat 4096 Mar  3 13:24 aricent
> 
> ./WEB-INF/classes/com/aricent:
> total 4
> -rw-r--r-- 1 tomcat tomcat 2182 Mar  3 13:23 Login.class
> 
> ./WEB-INF/lib:
> total 0
> </code>
> 
> META-INF/context.xml
> <code>
> <?xml version="1.0" encoding="UTF-8"?>
> 
> <Context path="/AuthExample">

"path" is not valid here.

>     <Resource name="jdbc/AuthExample"
>         auth="Container"
>         type="javax.sql.DataSource"
>         driverClassName="com.mysql.jdbc.Driver"
>         url='jdbc:mysql://localhost:3306/javaexamples?validationQuery="select 
> 1"'

not sure that validationQuery parameter is much use either.

http://tomcat.apache.org/tomcat-6.0-doc/jndi-datasource-examples-howto.html

and

http://commons.apache.org/dbcp/configuration.html

>         username="Validate"
>         password="Authenticate"/>
> 
> </Context>
> </code>
> 
> WEB-INF/web.xml
> <code>
> <?xml version="1.0" encoding="ISO-8859-1"?>
> 
> <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">
> 
>     <display-name>Authentication Example</display-name>
>     <description>
>       This is an examlpe servlet for User Authentication.
>     </description>
> 
>     <servlet>
>       <servlet-name>AuthExample</servlet-name>
>       <servlet-class>com.xxxx.AuthExample</servlet-class>
>     </servlet>

com.aricent.Login is the only class you've included, but I'm presuming
that you've just edited this for 'security reasons'.

>     <servlet-mapping>
>         <servlet-name>AuthExample</servlet-name>
>         <url-pattern>/authenticate</url-pattern>
>     </servlet-mapping>
> 
>     <resource-ref>
>         <description>jdbc/AuthExample</description>
>     <res-ref-name>jdbc/AuthExample</res-ref-name>
>     <res-type>javax.sql.DataSource</res-type>
>     <res-auth>Container</res-auth>
>     </resource-ref>
> 
> </web-app>
> </code>
> 
> Login,java
> <code>
> package com.xxxx;
> 
> import java.sql.*;
> 
> import javax.sql.*;
> 
> import javax.naming.*;
> 
> 
> 
> public class Login {
> 
> 
> 
>         private Connection dbConn;
> 
> 
> 
>         public Login() {
> 
>         }
> 
> 
> 
>         public boolean authenticate(String username2, String password2) {
> 
>                 DataSource ds = null;
> 
>                 try {
> 
>                         Context ctx = new InitialContext();
> 
>                         ds = 
> (DataSource)ctx.lookup("java:comp/env/jdbc/AuthExample");
> 
>                 } catch (NamingException e1) {
> 
>                         System.out.println("Login:authenticate:Context 
> Setup");
> 
>                         e1.printStackTrace();
> 
>                 }
> 
> 
> 
>                 boolean pass = false;
> 
>                 String query = "select * from Registration;";
> 
>                 String DbUserName = "";
> 
>                 String DbPassword = "";
> 
>                 try {
> 
>                         dbConn = ds.getConnection();
> 
>                         Statement stat = dbConn.createStatement();
> 
>                         ResultSet rst = stat.executeQuery(query);
> 
>                         while (rst.next())
> 
> 
> 
>                         {
> 
>                                 DbUserName = rst.getString("UserName");
> 
>                                 DbPassword = rst.getString("password");
> 
>                                 if (username2.equals(DbUserName)
> 
>                                                 && 
> password2.equals(DbPassword)) {
> 
>                                         pass = true;
> 
>                                         break;
> 
>                                 }
> 
> 
> 
>                         }
> 
>                         return pass;
> 
>                 } catch (SQLException e) {
> 
>                         System.out.println("Login:authenticate:");
> 
>                         e.printStackTrace();
> 
>                         return pass;
> 
>                 }
> 
>         }
> 
> }
> 
> </code>
> 
> Full Stack Trace
> <code>
> INFO: Undeploying context [/AuthExample]
> 03-Mar-2009 13:24:12 org.apache.catalina.startup.HostConfig deployWAR
> INFO: Deploying web application archive AuthExample.war
> Login:authenticate:
> org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of 
> class '' for connect URL 'null'
>         at 
> org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1150)
>         at 
> org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
>         at com.aricent.Login.authenticate(Login.java:29)
>         at org.apache.jsp.process2_jsp._jspService(process2_jsp.java:71)
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>         at 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
>         at 
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
>         at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
>         at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>         at 
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
>         at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.NullPointerException
>         at sun.jdbc.odbc.JdbcOdbcDriver.getProtocol(JdbcOdbcDriver.java:507)
>         at sun.jdbc.odbc.JdbcOdbcDriver.knownURL(JdbcOdbcDriver.java:476)
>         at sun.jdbc.odbc.JdbcOdbcDriver.acceptsURL(JdbcOdbcDriver.java:307)
>         at java.sql.DriverManager.getDriver(DriverManager.java:253)
>         at 
> org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1143)
>         ... 21 more
> </code>
> 
> I have deployed this without issue on a Windows XP laptop and read endless 
> mailing lists ....

where's the DB driver?
it's not in your war/lib...


p


> ThanKs,
> Paul
> 
> "DISCLAIMER: This message is proprietary to Aricent and is intended solely 
> for the use of the individual to whom it is addressed. It may contain 
> privileged or confidential information and should not be circulated or used 
> for any purpose other than for what it is intended. If you have received this 
> message in error,please notify the originator immediately. If you are not the 
> intended recipient, you are notified that you are strictly prohibited from 
> using, copying, altering, or disclosing the contents of this message. Aricent 
> accepts no responsibility for loss or damage arising from the use of the 
> information transmitted by this email including damage from virus."
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: users-h...@tomcat.apache.org
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to