我从servlet连接MySQL数据库时遇到问题。这是我的连接代码
private static void connectToDatabase(){
try{
static Connection conn = null;
static String url = "jdbc:mysql://localhost/database?userinfo";
conn = DriverManager.getConnection(url);
Class.forName("com.mysql.jdbc.Driver");
System.out.println("Connected");
} catch(ClassNotFoundException wyjatek) {
System.out.println("Problem ze sterownikiem");
} catch(SQLException wyjatek) {
System.out.println("SQLException: " + wyjatek.getMessage());
System.out.println("SQLState: " + wyjatek.getSQLState());
System.out.println("VendorError: " + wyjatek.getErrorCode());
}
}
和doGet
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
String param = request.getParameter("lookFor");
out.println("TEST");
connectToDatabase();
}
每次我得到这个
SQLException: No suitable driver found for jdbc:mysql://localhost/database?userinfo
SQLState: 08001
VendorError: 0
我把mysql-connector-java-5.1.27-bin放进去了 的webapps \ WEB-INF \ lib中 和 Apache的Tomcat的7.0.55 \ lib中
它仍然是一样的。在桌面版应用程序中,一切正常。它只发生在servlet上。
答案 0 :(得分:4)
基本问题是
您的第一步应该是使用此
注册驱动程序Class.forName("com.mysql.jdbc.Driver");
然后尝试使用此
从DriverManager获取连接conn = DriverManager.getConnection(url);
我猜你是以相反的方式做的