从定义了 main()
类的 Java 文件创建到 SQL 的连接工作正常,但在 Java Servlet 中调用 doPost()
中的方法抛出错误
java.lang.ClassNotFoundException:com.microsoft.sqlserver.jdbc.SQLServerDriver
工作代码
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Connect{
public static void main(String[] args) throws Exception
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://localhost;databaseName=UserDB";
Connection con = DriverManager.getConnection(url,"sa","XXXXXXX");
String query =" SELECT * FROM Login";
Statement myStatement = null;
myStatement = con.createStatement();
ResultSet result = myStatement.executeQuery(query);
while(result.next()){
System.out.println("User name = " + result.getString("userID"));
System.out.println("User password = " + result.getString("userPassword"));
}
}
}
现在在 Servlet 中运行代码
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String userName= request.getParameter("username");
String password= request.getParameter("password");
try {
if( **new DbQuery().isValidLogin(userName, password)**)
{
response.getWriter().println("Welcome " +userName);
}
else{
response.getWriter().println("Please Enter a valid User name and Password");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
在上面的代码中,new DbQuery().isValidLogin(userName, password)
创建了一个 DB 连接,类用作
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
点击上面的线............错误
请帮忙。
最佳答案
您需要将 sqljdbc jar 放入您的应用程序服务器中。例如,如果您使用的是 tomcat 服务器,请转到您安装 tomcat 的目录,打开 LIB 目录并确保那里存在 sqljdbc jar。
关于java - 在 Servlet 请求中创建到 SQL Server 数据库的连接 Thows "java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31956966/