0

I code a demo for servlet connect to mysql.But when I create an object in jsp file,there is an error.

class for connect mysql

package ...
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class sql_connect {
    protected static final String MYSQL_ACCOUNT = "root";
    protected static final String MYSQL_PASSWORD = "root";
    protected static final String MYSQL_URL = "jdbc:mysql://localhost:3306/f0chat";
    Connection connect = null;
    public Connection open_sql_connect(){
        try {
            Class<?> aClass = Class.forName("com.mysql.jdbc.Driver");
            System.out.println(aClass);

            connect = DriverManager.getConnection(MYSQL_URL,MYSQL_ACCOUNT,MYSQL_PASSWORD);

            if(!connect.isClosed()){
                System.out.println("mysql connect successful!");
            }
        } catch (ClassNotFoundException e) {
            System.out.println("mysql Driver not install!");
        } catch (SQLException e) {
            System.out.println("mysql connect failed");
        }
        return null;
    }
    public void close_sql_connect() {
        try {
            connect.close();
            System.out.println("connect close successful!");
        } catch (SQLException e){
            System.out.println("connect close failed");
        }
    }
}

I have tested this class and found it worked successful.

then I code a page for login.

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="f0chat.sqlopt.sql_connect" %>
<%@ page import="f0chat.sqlopt.sql_opt_user" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.util.Arrays" %>
<%@ page import="java.sql.ResultSet" %>
<%=request.getRemoteHost()%>
<%
    String[] username = request.getParameterValues("username");
    String[] password = request.getParameterValues("password");

    sql_connect creat = new sql_connect();
    Connection connect = creat.open_sql_connect();
    sql_opt_user opt = new sql_opt_user(connect);
    try{
        ResultSet res = opt.query_user(Arrays.toString(username), Arrays.toString(password));
        if (res.next()){
            System.out.println(res.next());
            System.out.println("success");
        }
    }catch(Exception e){
        System.out.println("faild");
    }

%>
<%=
Arrays.toString(request.getParameterValues("username"))
%>

when I try to connect mysql in the jsp page,it return an error : mysql Driver not install! And when I create a object in mysql_connect code to get com.mysql.jdbc.Driver it can't get anything. It identify connect error :< Can you help me?Thanks

f0zz
  • 15
  • 3
  • 1
    The MySQL Connector/J library is not on the classpath, so it cannot be loaded. As an aside, please don't hide actual exception by printing your own less clear error messages. Use `e.printStackTrace()` instead (or a suitable logging library). – Mark Rotteveel May 09 '22 at 11:59

0 Answers0