2017-09-25 122 views
0

在JSP和IntelliJ IDE中,我嘗試在我的應用程序內部登錄時遇到錯誤java.lang.ClassNotFoundException:com.mysql.jdbc.Driver。在開發JSP項目時使用IntelliJ作爲我的IDE。我試着用mysql-connector-java版本6.0.4,5.1.28,5.1.23。但它仍然不起作用,並提醒同樣的錯誤。無法在intellij中使用maven連接mysql數據庫

的pom.xml

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>groupId</groupId> 
    <artifactId>SmartRec</artifactId> 
    <version>1.0-SNAPSHOT</version> 

    <dependencies> 
     <!-- https://mvnrepository.com/artifact/commons-httpclient/commons-httpclient --> 
     <dependency> 
      <groupId>commons-httpclient</groupId> 
      <artifactId>commons-httpclient</artifactId> 
      <version>3.1</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.servlet</groupId> 
      <artifactId>servlet-api</artifactId> 
      <version>2.3</version> 
     </dependency> 

     <dependency> 
      <groupId>mysql</groupId> 
      <artifactId>mysql-connector-java</artifactId> 
      <version>6.0.4</version> 
     </dependency> 

    </dependencies> 

</project> 

EmployeeRegistration.java

public class EmployeeRegistration extends HttpServlet { 

    public void doPost(HttpServletRequest request, HttpServletResponse response) 
      throws ServletException, IOException { 

     response.setContentType("text/html"); 
     PrintWriter out = response.getWriter(); 

     String n=request.getParameter("name"); 
     String l=request.getParameter("address"); 
     String cwp = request.getParameter("cwposition"); 
     String ph=request.getParameter("phone"); 
     String m=request.getParameter("mail"); 
     String psw=request.getParameter("password"); 

     try{ 
      Class.forName("com.mysql.jdbc.Driver"); 
      Connection con= DriverManager.getConnection("jdbc:mysql://localhost:3306/smartrecruit","root",""); 

      System.out.println("conect"); 
      PreparedStatement ps=con.prepareStatement("insert into employee(name,address,cwposition,phone,email,password) values(?,?,?,?,?,?)"); 

      ps.setString(1,n); 
      ps.setString(2,l); 
      ps.setString(3,cwp); 
      ps.setString(4,ph); 
      ps.setString(5,m); 
      ps.setString(6,psw); 

      int i=ps.executeUpdate(); 
      if(i>0){ 
       String name = n; 
       request.setAttribute("message", name); 

      } 





     } catch (ClassNotFoundException e) { 
      e.printStackTrace(); 
     } catch (SQLException e) { 
      e.printStackTrace(); 
     } 

     out.close(); 
    } 
+0

你真是越來越沒有發現異常的類?你應該得到這個:'加載類'com.mysql.jdbc.Driver'。這已被棄用。新的驅動程序類是'com.mysql.cj.jdbc.Driver'。驅動程序通過SPI自動註冊,通常不需要手動加載驅動程序類。 ' –

+0

你可以添加你得到的整個異常嗎? –

+0

我得到了這樣的例外。 java.lang.ClassNotFoundException:com.mysql.jdbc.Driver \t at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1285) – jorge

回答