我目前正在尝试联系 MySQL 服务器。我的目标是有一个 servlet 在运行时显示一些表数据。我的 servelt 在glassfish 3.1上运行。
这是简单的doGet方法:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.print("<h1>select * from userName:<h1>");
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/people", "root", "r00tpw");
System.out.println("Connected");
PreparedStatement statement = (PreparedStatement) conn.prepareStatement("select * from userName");
ResultSet result = statement.executeQuery();
while(result.next()) {
out.print(result.getString(0));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
我有正确的 JDBC 驱动程序。我遇到的问题是我的源代码找到它。我尝试右键单击JRE System Library->Build Path->Configure Build Path并添加一个外部 JAR。与其将 JAR 添加到引用库,不如将它添加到任何库范围之外。这意味着Class.forName("com.mysql.jdbc.Driver");
总是抛出 ClassNotFoundException。
我还尝试将 JAR 添加到[pcname]->Classpath->User Entries的 Run Configurations->Glassfish 3.1 中,但没有成功。
我也尝试过使用 MS SQL Server 和他们的 JDBC 驱动程序。同样的事情也会发生。
我附上了我的项目结构的图像以提供帮助。