从JSP重定向

时间:2015-08-13 05:36:03

标签: java html jsp

我创建登录页面以检索MySQL数据库登录信息,然后检查用户输入的数据。如果输入的数据在数据库中,则我想重定向到主页,否则在登录页面(或警告消息)中创建和错误消息。我该如何实现呢?

我为这个程序编写了这么远的代码;但它还没有完成;

<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>

4 个答案:

答案 0 :(得分:2)

无需执行此操作只需在Action标记内定义Form名称即可编码。因此,当您单击“登录”时,您的控件将转发到“主页”。这是在表单标记内传递操作的简单格式。

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

或者您也可以使用

从JSP页面发送响应
response.sendRedirect("homepage.jsp");

您可以使用JS验证您的字段,也可以使用required=""标记将所有字段设为必填字段

乐意帮助!

答案 1 :(得分: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 :(得分: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");  

答案 3 :(得分:1)

根据我的经验,在JSP中编写java代码是一种很差的编程。请尝试使用servlet和jsp将视图与逻辑分开。虽然你是初学者,但你应该从良好的例子和前卫技术开始。请完成此link。如果你想在jsp中使用任何条件,你应该使用JSTL。我建议你仔细阅读servlet tutorials