import java.io.IOException;
import java.sql.DriverManager;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mysql.jdbc.*;
*// Here,in below 2 statement, I got 2 the same error as shown in title*
**Connection con = DriverManager.getConnection("localhost:3306", "root","simple");
Statement stmt = con.createStatement();**
if(stmt.execute(sql)){
System.out.println("Sql Statement Executed.");
}
else
{
System.out.println("Sql Statement not eexecuted.");
}
if((unm != null) && (pwd != null)){
RequestDispatcher rd =request.getRequestDispatcher("Home.jsp");
rd.forward(request, response);
}
}
}
我正在尝试将我的数据从servlet发送到mysql服务器但是在servlet中我得到了
错误:“类型不匹配:无法从java.sql.Connection转换为com.mysql.jdbc.Connection”
任何人都可以建议我删除代码错误的方法。我不知道。
答案 0 :(得分:7)
删除import com.mysql.jdbc.*
并使用import java.sql.Connection
。我觉得没关系。
答案 1 :(得分:1)
我认为你使用了错误的连接字符串,驱动程序管理器不知道如何实例化连接。 documentation有更多关于格式的信息。
它认为代码应该像
con = DriverManager.getConnection("jdbc:mysql://localhost/test","root","simple");
我认为导入存在问题,如另一个问题所述:Type mismatch: cannot convert from Connection to Connection,您需要import java.sql.Connection;
修改
要修复DriverManager错误,您需要使用以下代码注册驱动程序(取自mysql文档)
try {
// The newInstance() call is a work around for some
// broken Java implementations
Class.forName("com.mysql.jdbc.Driver").newInstance();
} catch (Exception ex) {
// handle the error
}
答案 2 :(得分:-1)
我正在回答一个旧问题,但我遇到了同样的问题,我通过导入所有库来解决它:
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.sql.*;
希望它有所帮助。