我目前正在尝试联系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系统库 - &gt;构建路径 - >配置构建路径并添加外部JAR。它似乎是在任何库范围之外添加的,而不是将JAR添加到引用的库。这意味着Class.forName("com.mysql.jdbc.Driver");
总是抛出ClassNotFoundException。
我还尝试将JAR添加到我的运行配置 - &gt; Glassfish 3.1 [pcname] - &gt; Classpath-&gt;用户条目,但没有运气。
我也尝试过使用MS SQL Server及其JDBC驱动程序。同样的事情发生了。
我已附上我的项目结构图片以提供帮助。
答案 0 :(得分:1)
将mysql-connector-java-5.1.26放入 WebContent ---&gt; WEB-INF - &gt; lib .inside lib文件夹。
答案 1 :(得分:0)
首先安装jdbc驱动程序后,需要在glassfish中对其进行配置。创建JDBC资源和JDBC连接池。
PS您是否将jdbc JAR添加到glassfish服务器文件夹?
对于glassfish也看到你的连接器它必须位于\ Glassfish3 \ domains \ domain1 \ lib \ databases
答案 2 :(得分:0)
可能是你没有将mysql驱动程序添加到服务器文件夹中。因此,您是否检查了Glassfish管理控制台中的glassfish-resources.xml
或JDBC连接?