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

时间:2015-08-12 05:51:09

标签: 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用作

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

点击上面的行........ ERROR

请帮忙。

2 个答案:

答案 0 :(得分:3)

您需要将sqljdbc jar放在应用程序服务器中。例如,如果您使用的是tomcat服务器,请转到已安装tomcat的目录,打开LIB目录并确保在那里存在sqljdbc jar。

答案 1 :(得分:1)

我在Tomcat Server中部署类似的应用程序时遇到了同样的错误。将相关的jdbc jar放在Tomcat的lib文件夹中。它应该工作正常。