找不到jdbc的驱动程序(仅限servlet)

时间:2014-08-18 07:22:59

标签: java mysql servlets jdbc

我从servlet连接MySQL数据库时遇到问题。这是我的连接代码

private static void connectToDatabase(){
    try{
        static Connection conn = null;
        static String url = "jdbc:mysql://localhost/database?userinfo"; 
        conn = DriverManager.getConnection(url);
        Class.forName("com.mysql.jdbc.Driver");
        System.out.println("Connected");
    } catch(ClassNotFoundException wyjatek) {
        System.out.println("Problem ze sterownikiem");
    } catch(SQLException wyjatek) {
        System.out.println("SQLException: " + wyjatek.getMessage());
        System.out.println("SQLState: " + wyjatek.getSQLState());
        System.out.println("VendorError: " + wyjatek.getErrorCode());
    }
}

和doGet

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    PrintWriter out = response.getWriter();

    String param = request.getParameter("lookFor");

    out.println("TEST");

    connectToDatabase();
 }

每次我得到这个

SQLException: No suitable driver found for jdbc:mysql://localhost/database?userinfo
SQLState: 08001
VendorError: 0

我把mysql-connector-java-5.1.27-bin放进去了         的webapps \ WEB-INF \ lib中 和         Apache的Tomcat的7.0.55 \ lib中

它仍然是一样的。在桌面版应用程序中,一切正常。它只发生在servlet上。

1 个答案:

答案 0 :(得分:4)

基本问题是

您的第一步应该是使用此

注册驱动程序
Class.forName("com.mysql.jdbc.Driver");

然后尝试使用此

从DriverManager获取连接
conn = DriverManager.getConnection(url);

我猜你是以相反的方式做的