2017-08-02 13 views
-1

如果用戶鍵入的密碼不正確,我正嘗試將我的錯誤消息轉發回我的登錄頁面。它適用於第一次嘗試,但是當用戶重新輸入密碼而不考慮正確或錯誤密碼時,它將返回我HTTP狀態404

例如,在用戶登錄JSP中。如果用戶以用戶身份登錄, 我會做一個條件,它會發送重定向到用戶頁面。如果用戶以Admin身份登錄,還會將其重定向到Admin頁面。 ----這部分,它工作非常好的,我使用的調度----JSP:getRequestDispatcher不會轉發到其他jsp文件

舉一個例子中的代碼結構我沒有

的login.jsp

<form action="../loginController" method="post"> 
    <p> Username : <input type="text" id="name" name="username" required/</p> 
    <p> password : <input type="text" name="password" required/> </p> 
    <button type="submit"> Submit </button> 
</form> 


<h2><%=request.getAttribute("errorMessage") %></h2> 

/- 當用戶輸入錯誤的密碼時,它應該重定向到此頁面。在url中應輸入它作爲.../login.jsp ---/
/-
我創建了一個servlet文件,我稱之爲loginController。我檢索的用戶數據來自oracle。從獲取數據的一切都是完美的 唯一的問題是,當我做條件。
---
/

Servlet是loginController.java

 if(loginRS.equals("user")){ 
      response.sendRedirect("User/User.jsp"); /*--This is working --*/ 

     } else if(loginRS.equals("admin")){ 
      response.sendRedirect("Admin/Admin.jsp"); /*--This is working --*/ 

     } else if(loginRS.equals("IncorrectPassword")) { 

      /*--- This is where the problem starts ---*/ 
      RequestDispatcher rd =     
      request.getRequestDispatcher("./Login/login.jsp"); 
      request.setAttribute("errorMessage", "Username Not found"); 
      rd.forward(request, response); 

/--Up到這裏,代碼工作,唯一的問題是,它裏面的servlet存儲。 java而不是將其轉發回login.jsp--這是問題出現的地方,當我輸入錯誤的密碼時,它返回錯誤rMessage作爲未找到的用戶名。但在我的urlPath中,它聲明它仍然在LoginController中。如果在第二次嘗試,我是輸入了正確的密碼,還給了我404找不到網頁 -/

我覺得把這個代碼的下面將其重定向到的login.jsp如果情況被稱爲。但我無法sendreDirect。 response.sendRedirect(「./ Login/login.jsp」); }

預先感謝您

解決 基本上我面臨的問題是我的連接,因此它導致錯誤404

回答

1

嘗試從request.getRequestDispatcher("./Login/login.jsp");

去除 ./.
相關問題