第一次发帖。在页面上工作,希望任何可以帮助。所以我正在创建一个登录主页。需要电子邮件和通行证然后使用jquery / ajax,这样页面就不会刷新,但仍会在用户登录时更改内容。
在我的servlet的代码中,我得到了一个validate方法来检查我的mysql,如果两个输入类型匹配表中的一行。否则它将打印输出失败(这与jsp页面atm上的jquery / ajax完美配合)。然而它也会失败,即使它应该是正确的。
我已经使用类似的表单方法测试了数据库并验证了函数,没有jquery的东西。并且知道它正在发挥作用。提前谢谢。
这是我到目前为止所得到的:
jquery:
<script>
$(document).ready(function() {
$('#submit').click(function() {
$.get('login',function(responseText) {
$('#gg').text(responseText);
});
});
});
</script>
表格:
<form method="get">
<input type="text" id="emaill" name="email"/>
<input type="text" id="passs" name="pass" />
<input type="button" id="submit" value="login" />
</form>
servlet:
public class Login extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
resp.setContentType("text/html");
PrintWriter out = resp.getWriter();
String email = req.getParameter("email");
String pass = req.getParameter("pass");
String name = null;
if(Validate.checkUser(email, pass)){
try{
Class.forName("com.mysql.jdbc.Driver");
Connection myConn = DriverManager.getConnection(---Deleted on Purpose---);
PreparedStatement ps = myConn.prepareStatement("select name from user where email=? and pass=?");
ps.setString(1, email);
ps.setString(2, pass);
ResultSet rs = ps.executeQuery();
while(rs.next()){
name = rs.getString("name");
HttpSession session = req.getSession();
session.setAttribute("name", name);
String ID = session.getId();
}
out.println("Works");
} catch (Exception e){
e.printStackTrace();
}
}
else{
out.println("Fail");
out.println("email");
}
}
}