2015-08-13 104 views
1

我創建登錄頁面來檢索MySQL數據庫登錄信息,然後檢查用戶輸入的數據。然後,如果輸入的數據在數據庫中,那麼我希望重定向到主頁,否則會在登錄頁面(或警報消息)中創建並顯示錯誤消息。我怎樣才能實現這個?從JSP重定向

我爲此程序編碼了這麼多;但它不完整;

<form method="post" name="Login_Form" class="form-signin">  
    <h3 class="form-signin-heading">City Pharmacy</h3> 
    <hr class="colorgraph"><br> 
    <p> Login As Supplier </p> 

    <input type="text" class="form-control" name="Username" placeholder="Username" required="" autofocus="" /> 
    <input type="password" class="form-control" name="Password" placeholder="Password" required=""/>   

    <button class="btn btn-lg btn-primary btn-block" name="Submit" value="Login" type="Submit">Login</button> 
    <br> 
    <a href ="index2.jsp"> Login As Admin </a> 
    <% 
    String user = request.getParameter("Username"); 
    session.putValue("Username",user); 
    String pwd = request.getParameter("Password"); 
    Class.forName("com.mysql.jdbc.Driver"); 
    java.sql.Connection con = DriverManager.getConnection("jdbc:mysql://localhost/pmsdb","dbuser","dbpassword"); 
    Statement st = con.createStatement(); 
    ResultSet rs = st.executeQuery("select * from webappligin where username='"+user+"' and type = Supplier"); 
    if(rs.next()){ 
     if(rs.getString("password").equals(pwd)){ 
      //wantto go to home page 
     }else{ 
      // create an error alert 
     } 

    } 
    %> 
</form> 
+1

我沒有JSP的經驗,但我認爲你可以在你的'if-else'中使用javascript,並重定向用戶或顯示警報彈出窗口。 – wawek

+0

http://stackoverflow.com/questions/30821635/validation-on-redirect/30840414#30840414 – Naman

回答

1

嘗試以下操作:
警報消息

 <% 
      if(rs.getString("password").equals(pwd)) 
      { 
       response.sendRedirect("homepage.jsp"); 
      }else 
       { 
     %> 
     <script language="JavaScript"> 
      alert("Incorrect Login Details"); 
     </script> 
     <% 
     } 

     %> 

的錯誤頁面:

  if(rs.getString("password").equals(pwd)) 
       response.sendRedirect("homepage.jsp"); 
      else 
       response.sendRedirect("errorpage.jsp"); 
1

我覺得這樣的事情應該工作:

<% 
    if(rs.getString("password").equals(pwd)) { 
    %> 
     <script language="javascript"> 
     window.location.replace("http://example.com"); 
     </script> 
    <% 
    } else { 
     <script language="javascript"> 
     alert("Password incorrect"); 
     </script> 
    %> 
    } 
2

不需要做這麼多編碼只有你在裏面定義Action名稱Form標籤。所以當你點擊登錄時,你的控件會轉發到主頁。這裏有一個簡單的格式來傳遞表單標籤中的動作。

<form action="Homepage.jsp" method="post"> 

,或者你可以從JSP頁面中使用

response.sendRedirect("homepage.jsp"); 

可以驗證使用JS或者您可以使用required=""標籤製作的所有字段作爲強制性

從外地您發送響應,以及

樂意幫忙!

1

根據我的經驗,在JSP中編寫Java代碼是很差的編程類型。請嘗試使用servlet和jsp將您的視圖與邏輯分開。雖然你是初學者,但你應該從很好的例子和推進技術開始。請通過這個link。如果你想在jsp中使用任何條件,你應該使用JSTL。我建議你通過這個servlet tutorials