Java 使用ajax和hibernate的登录表单
我正在尝试使登录表单与数据库连接。 当输入一个错误的用户名时,ajax应该返回一次“错误的用户名”。 我的servlet与hibernate连接,因此我可以用HPQL检查数据库中的用户名。在没有Hibernate代码的情况下,我的servlet将字符串发送回我,而没有任何问题。但当我试图检查用户名是否存在时,使用hibernate代码,ajax无法返回任何响应 my index.htmlJava 使用ajax和hibernate的登录表单,java,ajax,hibernate,web,Java,Ajax,Hibernate,Web,我正在尝试使登录表单与数据库连接。 当输入一个错误的用户名时,ajax应该返回一次“错误的用户名”。 我的servlet与hibernate连接,因此我可以用HPQL检查数据库中的用户名。在没有Hibernate代码的情况下,我的servlet将字符串发送回我,而没有任何问题。但当我试图检查用户名是否存在时,使用hibernate代码,ajax无法返回任何响应 my index.html <!DOCTYPE html> <!-- To change this license h
<!DOCTYPE html>
<!--
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
-->
<html>
<head>
<title>pokusaj 2</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
function check(){
var username=document.getElementById("username").value;
var password=document.getElementById("password").value;
$.post("servletprovera", {"username":username, "password":password},
function(data){
document.getElementById("alert").innerHTML=data.result;
});//servletprovera is URL of my servlet
}
</script>
</head>
<body>
<form >
<input type="text" name="username" id="username"><br>
<input type="password" name="password" id="password"><br>
<b id="alert"></b><br>
<input type="button" value="Login" onclick="check();">
</form>
</body>
</html>
我解决了这个问题。
问题出在HPQL中
我写
list=conn.createQuery("k FROM Korisniciajax k WHERE k.korUser=\""+user+"\"").list();
我应该用“”而不是“”
我想这份名单应该很有用。对吗?如果数据库中不存在用户名,那么是的。如果数据库不返回任何内容,那么您的列表将是空列表。get(0)应该为您提供ArrayIndexOutofBound运行时异常。你查过了吗?你是对的。最初的代码是“if(list==null)”,但这是一次绝望的尝试。在这两种情况下都不起作用。要检查空列表,请使用
list.isEmpty()
。如果conn.createQuery(…).list()
可能返回null,请使用If(list==null | | | list.isEmpty())
list=conn.createQuery("k FROM Korisniciajax k WHERE k.korUser=\""+user+"\"").list();
list=conn.createQuery(" SELECT k FROM Korisniciajax k WHERE korUser='"+user+"'").list();