java - 在 Servlet 请求中创建到 SQL Server 数据库的连接 Thows "java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver"

标签 java

从定义了 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/

相关文章:

java - Spring mvc 从 formBackingObject() 重定向到一个页面

java - 我可以将 selectOneMenu 表示的对象添加到 JSF 中 bean 的集合中吗?

java - Rails 和 Java 的通用加密算法

java - 在Java中使用WCF服务

java - 如何执行ASK查询?

java版的matlab的linspace

java - Spring:基于注释的配置期间@import文件中的引用bean

java - 双向 @ManyToMany JSON 映射的无限递归

java - 无法理解此示例中递归的工作原理

java - 使用 foreach 循环数组列表不会执行任何操作