0

我在 Windows 8 上使用 XAMPP。我想做的是从 Servlet 访问 MySQL 数据库。

我已将 MySQL 连接器 J jar 文件包含到 /xampp/tomcat/lib 目录中,下面是我要编译和运行的代码

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import com.mysql.jdbc.Driver;

public class Exercise7 extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<head><title>Servlet - MySQL</title></head>");
    out.println("<body>");

    Connection con = null;
    Statement st = null;
    ResultSet rs = null;

    String url = "jdbc:mysql://localhost:3306/test";
    String user = "root";
    String password = "";

    try {
        con = DriverManager.getConnection(url, user, password);
        st = con.createStatement();
        rs = st.executeQuery("SELECT VERSION()");

        if (rs.next()) {
            out.println(rs.getString(1));
        }

    } catch (SQLException ex) {
        /*Logger lgr = Logger.getLogger(Version.class.getName());
        lgr.log(Level.SEVERE, ex.getMessage(), ex);*/
        out.println("Can't connect");

    } finally {
        try {
            if (rs != null) {
                rs.close();
            }
            if (st != null) {
                st.close();
            }
            if (con != null) {
                con.close();
            }

        } catch (SQLException ex) {
            /*Logger lgr = Logger.getLogger(Version.class.getName());
            lgr.log(Level.WARNING, ex.getMessage(), ex);*/
            out.println("Can't connect");
        }
    }
    out.println("</body></html>");
}
}

当我访问该页面时,我看到“无法连接”,这显然意味着 servlet 和 mysql 之间的连接存在问题,所以任何人都可以帮助我解决这个问题。

4

1 回答 1

0

I found a solution :

Copied MySQL connector J jar file to "javaDirectory/jre/lib/ext" and the above code worked just fine

However there are other possible solutions and probably better than this one but for practice atleast this is good, i think so.

于 2013-09-16T20:08:07.187 回答