我有以下的Java類:我的JDBC連接可能有問題嗎?
package web;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;
public class HelloWorld extends HttpServlet {
public void doPost(HttpServletRequest request,HttpServletResponse response)throws IOException, ServletException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("Student Name<br>");
try{
Connection conn=null;
String url = "jdbc:mysql://localhost/test";
PreparedStatement pre=null;
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn=DriverManager.getConnection(url,"root","3324911");
out.println("Database connected");
pre = conn.prepareStatement("Insert INTO countries(COUNTRY,COUNTRY_ISO_CODE,REGION) VALUES (?,?,?)");
pre.setString(1,"USA");
pre.setString(2,"US");
pre.setString(3,"North America");
pre.executeUpdate();
}catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());
}
}
}
無論出於何種原因,當我部署這個類在Tomcat中,該程序只能達到行
Class.forName("com.mysql.jdbc.Driver").newInstance();
它到達行後它會失敗:
conn=DriverManager.getConnection(url,"root","3324911");
這try/catch塊正在爲一個單獨的方法,我把它從一個主要方法從另一個類,它工作正常。
我不知道我在Tomcat中插入try/catch塊的位置時弄錯了位置。
任何幫助表示讚賞,謝謝!
什麼錯誤產生的?你可以發佈堆棧跟蹤嗎? – Reimeus 2012-08-12 13:38:54
其實你可以看到我有out.println(「連接數據庫」);這僅在Class.forName()後面顯示,而不在「DriverManager.getConnection」後面顯示。 – Kevin 2012-08-12 13:40:21
你的用戶名和密碼是否正確? – JamesB 2012-08-12 13:41:33