2017-09-25 13 views
0

JSPでIntelliJ IDEが新しく、アプリケーション内でログインしようとするとjava.lang.ClassNotFoundException:com.mysql.jdbc.Driverエラーが発生しています。 IDEプロジェクトとしてIntelliJをIDEとして使用しています。私はmysql-connector-javaバージョン6.0.4,5.1.28,5.1.23で試しました。それでも動作していないし、同じエラーを思い出させる。インテリジェントで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

答えて

0

このquestionをチェックしてください。それはあなたと関連しています。 Mavenのから依存関係を削除し

  1. 彼らは基本的に言います。

  2. hereから手動でダウンロードしてください。
  3. /WEB-INF/libまたは$TOMCAT\libフォルダにjarファイルを追加します。今後の参考のためにも

で公式Tomcatのマニュアルを参照してください:http://tomcat.apache.org/tomcat-8.0-doc/jndi-datasource-examples-howto.html

+0

ありがとうございます。それは働いている。 – jorge

+0

あなたの質問は重複しています。しかし、あなたは答えとしてあなたに質問をしてもらえますか? –

関連する問題