2017-06-13 76 views
0
 This is my login.jsp page 

    <%@ page import ="java.sql.*" %> 
    <%@page import="java.sql.ResultSet"%> 
    <%@page import="java.sql.Statement"%> 
    <%@page import="java.sql.Connection"%> 
    <!DOCTYPE html> 
    <html> 
    <style> 
    /* Full-width input fields */ 
    input[type=text], input[type=password] { 
     width: 100%; 
     padding: 12px 20px; 
     margin: 8px 0; 
     display: inline-block; 
     border: 1px solid #ccc; 
     box-sizing: border-box; 
    } 

    /* Set a style for all buttons */ 
    button { 
     background-color: #4CAF50; 
     color: white; 
     padding: 14px 20px; 
     margin: 8px 0; 
     border: none; 
     cursor: pointer; 
     width: 100%; 
    } 

    /* Extra styles for the cancel button */ 
    .cancelbtn { 
     padding: 14px 20px; 
     background-color: #f44336; 
    } 

    /* Float cancel and signup buttons and add an equal width */ 
    .cancelbtn,.signupbtn { 
     float: left; 
     width: 50%; 
    } 

    /* Add padding to container elements */ 
    .container { 
     padding: 16px; 
    } 

    /* Clear floats */ 
    .clearfix::after { 
     content: ""; 
     clear: both; 
     display: table; 
    } 

    /* Change styles for cancel button and signup button on extra small screens */ 
    @media screen and (max-width: 300px) { 
     .cancelbtn, .signupbtn { 
      width: 100%; 
     } 
    } 
    </style> 
    <head> 
    <meta charset="ISO-8859-1"> 
    <title>Registration Form</title> 
    </head> 
    <form method="post" action="success.jsp"> 

    <div class="container"> 
    <h2>Login Form</h2> 
     <label><b>Username</b></label> 
     <input type="text" placeholder="Enter Username" name="Username" required> 
      <label><b>Password</b></label> 
      <input type="password" placeholder="Enter Password" name="Password" required> 
     <div class="clearfix"> 
     <button type="submit" value="submit">Login</button> 

     </div> 
     </div> 
    </html> 
    <% 
     String Username= request.getParameter("Username");  
     String Password = request.getParameter("Password"); 
     Class.forName("com.mysql.jdbc.Driver"); 
     Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql","root","root"); 
     Statement st = con.createStatement(); 
     ResultSet rs; 
     rs=st.executeQuery("SELECT * FROM customers WHERE Username='" + Username + "' and Password='" + Password + "'"); 
     if (rs.next()) { 
       session.setAttribute("Username",Username); 
      // out.println("Welcome " + Username); 
      //out.println("<a href='logout.jsp'>Log out</a>"); 
      response.sendRedirect("success.jsp"); 
     } 
     else 
     { 
      out.println("Invalid Username or password Please try again"); 
     } 
    %> 
    I am using eclipse,tomcat,mysql db.When i run login.jsp page it is asking me validation details and total code works fine but in output page i am getting 
    O/P:Welcome null.It is throwing me null value.And also it is directly going to else loop and giving me output in the output page like this "Invalid Username or Password Please try again".I used both HTML and java code in jsp file is that correct??? 

    success.jsp: 

    <% 
     if ((session.getAttribute("Username") == "null") || (session.getAttribute("Password") =="null")) { 
    %> 
    You have not logged in<br/> 
    <a href="login.jsp">Please Login</a> 
    <%} else { 
    %> 
    Welcome <%=session.getAttribute("Username")%> 
    <a href='logout.jsp'>Log out</a> 
    <% 
     } 
    %> 

歡迎<%= session.getAttribute( 「用戶名」)%>
//預期輸出歡迎rohan542 所述的login.jsp具有直接從login.jsp的至success.jsp.In它具有直接換句話說從登錄頁面到成功頁面。沒有堆棧跟蹤,iam獲取輸出,但不是我期望的。我認爲代碼有一點點錯誤,請更正它。我在java中使用會話。代碼必須檢查是否用戶名和密碼是正確的,如果他們是正確的,那麼它必須驗證並進入成功頁面,除此之外,我提供了一個註銷鏈接,直接註銷那裏我的問題是如何從一個jsp頁面指向另一個jsp頁面?

+0

請幫助任何人。 –

回答

0

您可以使用

<c:redirect url = "your-url"/> 

標記重定向到一個新的url。

由於您的代碼位於同一頁面,因此您的操作不應指向success.jsp頁面。它應該指向相同的登錄頁面。請修改問題描述以避免混淆。

請更改以下行。

<form method="post" action="success.jsp"> to 
<form method="post" action="login.jsp"> 
+0

我認爲你不明白我的問題。每件事情都沒問題,但它沒有拋出我的用戶名就把我扔了。 –

+0

您的操作應指向相同的jsp頁面而不是success.jsp,因爲您已將該代碼寫入同一頁面。 –

+0

對不起vinod我沒有得到你。請你詳細說明答案並用清晰的方式與代碼 –

相關問題