簡體   English   中英

在Servlet請求方法中創建到SQL Server DB的連接“ java.lang.ClassNotFoundException:com.microsoft.sqlserver.jdbc.SQLServerDriver”

[英]Create a connection to SQL Server DB inside Servlet request Thows “java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver”

從定義了main()類的Java文件創建與SQL的連接效果很好,但是在Java Servlet中的doPost()內部調用該方法會拋出Error,

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)創建一個數據庫連接,而該Class用作

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

在碰到上述行........錯誤

請幫忙。

您需要將sqljdbc jar放入應用服務器中。 例如,如果您使用的是tomcat服務器,請轉到已安裝tomcat的目錄,打開LIB目錄,並確保在那里存在sqljdbc jar。

在Tomcat服務器中部署類似應用程序時遇到了相同的錯誤。 將相關的jdbc jar放在Tomcat的lib文件夾中。 它應該工作正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM