web applications - ClassNotFoundException of com.mysql.jdbc.Driver, when using servlets -


this wierd problem interrupting me long time. have class name connector inside dynamic web application in eclipse, these code:

public class connector {      private static final string dburl = "jdbc:mysql://localhost:3306/";      private connection con;      public connector(string username, string password) {         try {             class.forname("com.mysql.jdbc.driver").newinstance();             con = drivermanager.getconnection(dburl, username, password);         } catch (sqlexception e) {             e.printstacktrace();         }             catch (classnotfoundexception e) {             e.printstacktrace();         }          catch (exception e) {             system.err.print("unidentified exception has acurred!");             e.printstacktrace();         }     } 

when i'm using different class in same package, named portal, works fine, when i'm trying use servlet in package servlets, named loginhandle.java, classnotfoundexception. class in build path of classes, , checked trying import servlet, when create new instance, not being recognized. tried move servlet package of connector, , vise versa, , didn't affect. here servlet's code:

    package servlets;  import java.io.ioexception;  import javax.servlet.servletexception; import javax.servlet.annotation.webservlet; import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse; import javax.servlet.http.httpsession;  import portal.connector; import portal.usertableanalyzer;   @webservlet("/loginhandle") public class loginhandle extends httpservlet {     private static final long serialversionuid = 1l;      public loginhandle() {         super();     }      protected void doget(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception {      }      protected void dopost(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception {         string referer = request.getheader("referer");         string pagename = referer.substring(referer.lastindexof('/') + 1);         if(pagename.equals("login.jsp"))         {             httpsession session = request.getsession(false);             connector c = new connector("root", "16180339887");              c.executeupdate("use main");             string id = request.getparameter("id"), password = request.getparameter("password");             string query = "select users id ='" + id + "' , password = '" + password + "'";             string[][] result = c.executequery(query);              usertableanalyzer uta = new usertableanalyzer(result);             if(result.length > 0)             {                 session.setattribute("userid", uta.getid(0));                 session.setattribute("role", uta.getrole(0));                 response.sendredirect("main.jsp");             }             else             {                 request.setattribute("wrongdetails", new boolean(true));                 response.sendredirect("login.jsp");             }         }         else             response.getwriter().print(pagename);     }  } 

sorry if english bad, or if details missing

your driver not in server classpath, build path has nothing that. didn't write application server using. should use datasource in servlets, rather drivermanager. here sample configuration tomcat.

update

for tomcat 7 need following:

put mysql jar in $catalina_home/lib
configure datasource in context

 <resource name="jdbc/testdb" auth="container" type="javax.sql.datasource"                        maxactive="100" maxidle="30" maxwait="10000"                        username="user" password="pass"                         driverclassname="com.mysql.jdbc.driver"                        url="jdbc:mysql://localhost:3306/databasename"/> 

use datasource in servlet (pseudo code)

@webservlet("/loginhandle") public class loginhandle extends httpservlet {     private static final long serialversionuid = 1l;      @resource(lookup="jdbc/testdb")     private datasource ds;      ...      protected void dopost(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception {     connection c = ds.getconnection();    ... 

Comments

Popular posts from this blog

javascript - Jquery show_hide, what to add in order to make the page scroll to the bottom of the hidden field once button is clicked -

javascript - Highcharts multi-color line -

javascript - Enter key does not work in search box -