0
我試圖使用數據庫在Java中的GET請求響應Java中的GET請求。但它引發了一些我不知道如何解決這個問題的錯誤。應對使用數據庫
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class TestServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException{
try{
//Accessing driver from the JAR file
Class.forName ("com.mysql.jdbc.Driver").newInstance();
//Connect to Clockie's database
Connection con = DriverManager.getConnection ("jdbc:mysql://localhost:3306/database", "root", "root");
//Here we create our query
String sql = "" +
"SELECT * " +
"FROM profiles " +
"WHERE profileId = '27'";
PreparedStatement statement = con.prepareStatement(sql);
ResultSet result = statement.executeQuery();
String xmls = "";
result.next();
xmls = result.getString("firstName") + " "+result.getString("lastName");
System.out.println(xmls);
resp.getWriter().println(xmls);
}
catch(Exception e){
System.err.println(e.getMessage());
}
}
}
一切都很好,雖然,如果我設置一個main方法裏面使用doGet代碼塊?我是Java新手,請幫助!
編輯:
的例外是 「com.mysql.jdbc.Driver」;
我把它添加到類路徑,否則,如果我把它放在一個main方法裏面的代碼塊將不會奏效。 e.printStackTrace();不工作,因爲該方法是無效的。 – einstein
@ Woho87,而不是'通信System.err.println(e.getMessage());',用'e.printStackTrace()',並告訴我們完整的錯誤。 – dogbane
拋出java.lang.ClassNotFoundException:com.mysql.jdbc.Driver \t在java.net.URLClassLoader的$ 1.run(URLClassLoader.java:202) \t ..... – einstein