![](/img/trans.png)
[英]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.