Request.getParameter()方法不起作用

时间:2016-04-19 05:20:41

标签: jsp

我正在创建一个网站,但在从文本框中检索值时遇到了麻烦。我有一个用户输入用户名的登录页面。我必须从文本框中获取值,然后将其发送到login.jsp,其中request.getParameter()方法取值为textbox。但我猜request.getParameter()无法正常工作。请帮助我指出错误。 这是我的代码

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
    <link rel="stylesheet" type="text/css" href="login.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> 
    <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
    <style>
        .center{
            margin: auto;
            width: 400px; 
            height: 400px;
            border: 3px;
            padding-top: 50px;
        }


    </style>

</head>
<body>

    <div class="center" >
        <form action="login.jsp" method="post">
            <div>
                <img src="images/crms.png" style="padding-bottom:50px;" width="440" height="240">
            </div>
            <div id="comment_bubble" >
                <div class="form" id="form1">
                    <h2 style="padding-left:125px;">Sign In</h2>
                    <img src="images/hooo.png" style="padding-left:120px;padding-bottom:10px; ">
                    <div class="form-group has-feedback">
                        <input type="text" class="form-control" id="email" placeholder="Username" name="inputtext" value=""><span class="glyphicon glyphicon-user form-control-feedback " id="username"></span><br></div>
                    <div class="form-group has-feedback">
                        <input type="password" class="form-control" id="password" placeholder=" Password" align="center" name="pwd" value=""><span class="glyphicon glyphicon-lock form-control-feedback" id="pass"></span><br></div>
                    <button id="button" type="button" class="btn btn-default" value="submit" onclick="callfun();" >Submit</button><br><br>
                    <a href="#myModal" data-toggle="modal" id="Register">Create a new account</a>

                </div>
            </div>
        </form>

        <div class="modal fade" id="myModal" role="dialog">
            <div class="modal-dialog">
                <div class="modal-content">
                    <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal">X</button>
                        <h3>Create A New Account</h3>
                    </div>
                    <div class="modal-body">
                        <div class="form-group" id="form2">
                            <label for="sel1"> Designation</label>
                            <select class="form-control" id="sel1" >
                                <option>Director</option>
                                <option>Faculty</option>
                                <option>Technician</option>
                            </select><br>

                            <input type="email" class="form-control" placeholder="Username"><br>
                            <input type="email" class="form-control" placeholder="Faculty_Id"><br>
                            <input type="password" class="form-control" placeholder="Password"><br>
                            <input type="password" class="form-control" placeholder="Re-type password"><br>

                            <button id="button2" type="button" class="btn btn-primary" >Submit</button> 

                        </div>
                    </div>
                </div>
            </div>
        </div>

    </div>
    <script>
        function callfun() {
            location.href = "login.jsp";
        }
    </script>


</body>
</html>

这是我的Jsp代码:

 <%@page import="java.sql.ResultSet"%>
 <%@page import="java.sql.Statement"%>
 <%@page import="java.sql.DriverManager"%>
 <%@page import="java.io.*,java.util.*"%>
 <%@page import="java.sql.Connection"%>
 <%
String userid = request.getParameter("inputtext");
if(userid==null){
out.println("userid missing");
}
else{
String pass = request.getParameter("pwd");
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/crms", "root", "root");
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("select * from login where username='" + userid + "'");

if (rs.next()) {
    if (rs.getString(2).equals(pass)) {
        String site=new String("complain.jsp");
        response.setStatus(response.SC_MOVED_TEMPORARILY);
        response.setHeader("Location",site);
    } else {
        out.println("else running");
    }
}
}
%>

4 个答案:

答案 0 :(得分:0)

如果您使用的是<input type="text" class="form-control" name="email" id="email" placeholder="Enter Email" maxlength="254" ng-model="registrationData.email" required > <input type="text" class="form-control" name="promoCode" id="promo-code" placeholder="Parking Program Code" ng-model="registrationData.promo_code" ng-model-options="{ debounce: 500 }" promo-email='registrationData.email' promo-validation> <div ng-show="validate.promoCode.$touched || validate.promoCode.$dirty"> <div ng-messages="validate.promoCode.$error" style="color:maroon" role="alert"> <div ng-message="promoCode">Code invalid</div> </div> <div ng-messages="validate.promoCode.$pending"> <div ng-message="promoCode">Checking promo test...</div> </div> ,那么您就不需要任何javascript来向jsp发送数据。只需使用

<form action="login.jsp" method="POST">

<button id="button" type="submit" class="btn btn-default" value="Submit">Submit</button> 类型负责将数据发送到下一个屏幕

答案 1 :(得分:0)

您的密码字段没有名称,因此request.getParameter()无法找到它。它应该是

<input type="password" class="form-control" placeholder="Password" name="pwd">

无论如何,你做错了。您应该select * from login where username = ? and password = ?,看看是否有任何结果。让数据库完成工作。

答案 2 :(得分:0)

我面临着同样的问题。我给所有字段使用了name标签,并在request.getParameter()方法中使用相同的值读取值。显然,删除enctype="multipart/form-data字段中的<form>声明可以解决此问题。

答案 3 :(得分:-1)

您的密码输入字段密码有一个名称,您可以通过名称获取密码值。比如说

<input type="password" value="" name="pass">

您可以通过调用

获取后端的值表单
String pass = request.getParameter("pass");

无论如何要获取参数值,您应该使用特定网址提交(发布)表单。你可以为你的表格添加一个id

<form action="login.jsp" method="post" id="myForm">

你的脚本应该是

<script>
        function callfun() {
            $("#myForm").submit();
        }
</script>

请告诉我,如果可行的话。 感谢。

相关问题