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