我有以下Java类:
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 块作为一个单独的方法工作,我从另一个类的 main 方法中获取它,它工作正常。
当我在 Tomcat 中插入这个 try/catch 块时,我不确定我在哪里搞砸了。
任何帮助表示赞赏,谢谢!