我正在创建一个网站,但在从文本框中检索值时遇到了麻烦。我有一个用户输入用户名的登录页面。我必须从文本框中获取值,然后将其发送到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");
}
}
}
%>
答案 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>
请告诉我,如果可行的话。 感谢。