【问题标题】:java.sql.SQLException: No suitable driver found. Already added connector jar to Tomcat's lib folderjava.sql.SQLException:找不到合适的驱动程序。已将连接器 jar 添加到 Tomcat 的 lib 文件夹
【发布时间】:2017-04-20 15:32:46
【问题描述】:

将 Tomcast 6.0 与 Eclipse Java Jee Neon 结合使用。我已经将 jar 放入 tomcast 的 lib 中,如下所示:“C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\mysql-connector-java-5.1.40-bin.jar”

还有什么可能导致此问题?非常感谢您的帮助!

我的代码(Servlet):

package Servlet;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;


import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Servlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // TODO Auto-generated method stub

        String name = req.getParameter("name");
        String lastname = req.getParameter("lastname");
        String cedula = req.getParameter("cedula");

        try {
            InsertClient(name, lastname, cedula);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        resp.getWriter().println("<html>");
        resp.getWriter().println("<head>"); 
        resp.getWriter().println("<title>Cliente agregado!</title>");
        resp.getWriter().println("</head>");
        resp.getWriter().println("<body>");
        resp.getWriter().println("Cliente fue agregado.");
        resp.getWriter().println("</body>");
        resp.getWriter().println("</html>");
    }

    public static void InsertClient(String Name, String Lastname, String Cedula) throws Exception{      
        try{
            Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/testdb", "root", "1990");

            PreparedStatement insert = con.prepareStatement("INSERT INTO Cliente(Nombre, Apellido, Cedula) VALUES ('"+Name+"', '"+Lastname+"', '"+Cedula+"')");

            insert.executeUpdate();

        }catch(Exception e){System.out.println(e);}
        finally{System.out.println("Insertion complete.");}


    }   

}

【问题讨论】:

  • Tomcat 路径是相对的。默认情况下,它使用 eclipse 元数据而不是服务器的实际位置。打开您的服务器设置并将服务器位置更改为其实际位置。这样它将引用 tomcat 的 lib 目录。我希望这会有所帮助。
  • 您的项目是动态网络项目。要访问 jar,请将 mysql java 连接器 jar 放在 WEB-INF/libs 文件夹中。或者,如果您在某些 IDE 中执行此操作,请通过配置构建路径来添加 jar。
  • 天啊@user1211,你明白了!只需右键单击我的项目>属性>服务器>选择“Tomcat v6.0 Server at localhost”而不是默认的。谢谢!

标签: java html mysql eclipse servlets


【解决方案1】:

如果您使用动态 Web 项目来创建项目,则必须将所有 jar 文件添加到 Web-Inf lib 文件夹下。希望这会有所帮助。

【讨论】:

  • 但是我用的是tomcat。难道不需要从tomcat的类路径中获取jar包吗?
猜你喜欢
  • 2017-10-17
  • 2012-07-07
  • 2013-07-04
  • 2020-03-17
  • 2016-11-28
  • 2011-08-02
  • 2012-08-28
  • 2015-07-05
  • 2010-11-25
相关资源
最近更新 更多