I'm making a small application so I can post my notes from my classes to a server. I am using JDBC and MySQL for the database side and JSP/Servlets for the application side.
I wrote a stand-alone java application that is very similar to my servlet code and it worked fine; my servlet code is not working fine.
Attribute definitions:
static final String DB_URL = "jdbc:mysql://localhost/DATASET";
static final String USER = "user";
static final String PASS = "pass";
Connection con = null;
Statement s = null;
doPost Method:
final String STATEMENT = "INSERT INTO FILE(upload_time, filename, class, data) VALUES(CURTIME(), '" + request.getParameter("file") + "', '" + request.getParameter("cls") + "', '" + request.getParameter("comm") + "')";
final String STATEMENT2 = "INSERT INTO FILE(upload_time, filename, data) VALUES(CURTIME(), 'booga33.txt', 'ooga booga dooga22222222222222!')";
try {
con = DriverManager.getConnection(DB_URL, USER, PASS);
s = con.createStatement();
s.executeUpdate(STATEMENT2);
}
catch(SQLException i)
{
PrintWriter w = response.getWriter();
w.println(i.getErrorCode());
}
catch(Exception e)
{
PrintWriter w = response.getWriter();
w.println("error occured.");
}
It is throwing an SQLException
and giving me an error code of 0
, which is an invalid login. The username/password is correct but I believe the URL is malformed (even though this is exactly the database-url I was using in my java application. Also, /DATASET
is the correct name for my schema.
On a seperate note, I know there are problems with my implementation if it is used by many users; I just want to get it working with a single user and then I will worry about many.
Edit: I am using tomcat as a webserver for my JSP/Servlet pages, I also have the mysql-connector placed in the Referenced Libraries section of my project (Eclipse).
Any help on this is greatly appreciated!!!!
EDIT:
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/DATASET
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at DoSubmit.doPost(DoSubmit.java:38)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:495)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:767)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1347)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
SOLUTION:
Place MySQL Connector JAR into WEB-INF->lib
if using eclipse IDE.
Also, Class.forName(driver);
is needed prior to establishing connection.