1
我現在面臨的問題與我的網站,我儘量讓用戶輸入用戶名和密碼登錄到主頁,但它給我這個錯誤問題與我的登錄servlet頁面
HTTP狀態404 - 請求的資源()不可用
似乎html頁面沒有從servlet獲得任何結果。我不確定,但任何人都可以幫助我,告訴我我錯過了什麼?
這裏是我的servlet:
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;
public class enter extends HttpServlet {
private Connection myCon;
private PreparedStatement myStmt;
@Override
public void init() {
System.out.println("init");
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
}
catch (Exception e) {
}
try {
System.out.println("connecting");
myCon = DriverManager.getConnection ("jdbc:mysql://localhost/auk","root","password");
}
catch (SQLException e) {
}
}
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException, SQLException {
response.setContentType("text/html;charset=UTF-8");
ResultSet result;
PrintWriter out = response.getWriter();
String query, colName, dat, user;
int numCols, index;
ResultSetMetaData resultMd;
query = "Select Pass from user where Username=?";
try {
myStmt = myCon.prepareStatement(query);
}
catch (Exception e) {
}
user=request.getParameter("user");
myStmt.setString(1, user);
result=myStmt.executeQuery();
String userpass=result.getString(1);
out.println ("userpass selected from the table is = "+userpass);
response.setContentType("text/html");
out.println("<html>");
out.println("<head><title>JDBCServlet</title></head>");
out.println("<body>");
out.print("<p><b>The query is: </b>" + query + "</p>");
try {
result = myStmt.executeQuery(query);
resultMd = result.getMetaData();
numCols = resultMd.getColumnCount();
out.println("<table border>");
out.println("<caption> <b> Query Results </b> </caption>");
out.println("<tr>");
out.print("<th> Welcome " + user + " </th>");
for (index = 1; index <= numCols; index++) {
colName = resultMd.getColumnLabel(index);
out.print("<th>" + colName + "</th>");
}
out.println("</tr>");
while (result.next()) {
out.println("<tr>");
for (index = 0; index < numCols; index++) {
dat = result.getString(index + 1);
out.println("<td>" + dat + "</td>");
}
out.println("</tr>");
}
out.println("</table>");
}
catch (Exception e) {
e.printStackTrace();
}
out.println("</body></html>");
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
processRequest(request, response);
} catch (SQLException ex) {
Logger.getLogger(enter.class.getName()).log(Level.SEVERE, null, ex);
}
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
processRequest(request, response);
} catch (SQLException ex) {
Logger.getLogger(enter.class.getName()).log(Level.SEVERE, null, ex);
}
}
@Override
public String getServletInfo() {
return "Short description";
}
}
謝謝您的請求並解釋,但我沒有得到您的解決方案。你能告訴我在我的代碼中哪裏是錯誤的。 – mimi 2011-05-27 14:56:19
錯誤不在顯示的代碼中。該代碼**甚至沒有達到**。正如答案中提到的那樣:*您需要驗證瀏覽器地址欄中的URL,web.xml中的servlet映射和服務器啓動日誌。*如果發現問題,請在您的問題中包含此信息。 – BalusC 2011-05-27 14:57:00