Note that there are some explanatory texts on larger screens.

plurals
  1. POSQLException - JDBC Driver & Tomcat
    primarykey
    data
    text
    <p>I'm trying to learn Android and Servlet programming and having trouble connecting to a local mySQL database. I have a simple Android client that does a HTTPpost request to a servlet thats hosted on localhost. The request seems to be working fine, but the servlet is having trouble locating the Driver for the database. I'm pretty sure the mysql url is correct so I'm guessing its the Driver that's the problem!</p> <p>This is the utility class that should get the connection to the database:</p> <pre><code>public class Database { private static Connection connection = null; /** * * @return */ public static Connection getConnection(){ if(connection!=null){ return connection; } else { try { Properties db_properties = new Properties(); InputStream inStream = Database.class.getClassLoader().getResourceAsStream("/db.properties"); db_properties.load(inStream); String dbDriver = db_properties.getProperty("dbDriver"); String url = db_properties.getProperty("url"); String dbUser = db_properties.getProperty("dbUser"); String dbPass = db_properties.getProperty("dbPassword"); connection = DriverManager.getConnection(url,dbUser,dbPass); Class.forName(dbDriver); } catch (IOException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } return connection; } </code></pre> <p>}</p> <p>This is the following Database properties file:</p> <pre><code>driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:8889/gymbuddy user=Mathan pass=PYCCmcPDAFSj7N9B </code></pre> <p>This is the how the servlet setup looks like:</p> <p><img src="https://i.stack.imgur.com/Wvuyz.png" alt="Servlet Setup"></p> <p>And this is the stack trace I get:</p> <pre><code> java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:8889/gymbuddy?user=Mathan&amp;password=PYCCmcPDAFSj7N9B at java.sql.DriverManager.getConnection(DriverManager.java:602) at java.sql.DriverManager.getConnection(DriverManager.java:207) at com.mathanv.gb.util.Database.getConnection(Database.java:36) at com.mathanv.gb.dao.BuddyDao.&lt;init&gt;(BuddyDao.java:35) at com.mathanv.gb.controller.BuddyController.&lt;init&gt;(BuddyController.java:29) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:357) at java.lang.Class.newInstance(Class.java:310) at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:138) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1137) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:858) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:136) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:680) Mar 2, 2013 11:50:53 PM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet [BuddyController] in context with path [/gbserver] threw exception java.lang.NullPointerException at com.mathanv.gb.dao.BuddyDao.registerBuddy(BuddyDao.java:44) at com.mathanv.gb.controller.BuddyController.doPost(BuddyController.java:51) at javax.servlet.http.HttpServlet.service(HttpServlet.java:647) at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:680) Help! If you need any more information, let me know! </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload