<script type="text/javascript">
function check(){
var username=document.getElementById("username");
var username=document.getElementById("password");
//java代码块
<%
String sql="select * from Manger";
String user;
String pass;
ResultSet rs=DBHelper.query(sql);//sql代码已经写好在被的类中,此处为直接调用!!
while(rs.next()){
user=rs.getString("username");
pass=rs.getString("password");%>
if(username.value=="<%=user %>" &&passsword.value=="<%=pass%>")
{
return true;
}else if(username.value==""|| password.value==""){
username.setCustomValidity("账号或密码不能为空");
return false;
}else{
username.setCustomValidity("账号或密码错误,请从新输入");
return false;
}
<%
}
%>
}
</script>
执行:
<input type="submit" value="登录" onClick="check()">
在学javaee1,没接触过js,在做登录界面的时候,想在js代码中嵌套一些java代码做数据库操作,但是报空指针异常,sql代码是没错的,测试过了。但是不知道为什么一直报空指针,求指正改如何写。
(2)你这逻辑有问题,直接把用户名密码写到 js 文件返回给客户端了,等于给用户密码,让他自己去核对对不对。
(3)报空指针异常有提示哪一段么,没有的话,断点试试,看不出来哪有问题。追问
恩恩,那个username的地方写错了,没看见,但是代码改对之后依然不行额,但是我用mysql测试却可以,sqlserver2008报空指针额。我另外写了一个类测试sqlserver发现能用额,但是在jsp里写就报空指针,用的同样的sql代码!!
连接数据库的那部分写了个类测试过了,可以正常过读取。在jsp里这么写则报空指针!!请帮忙看看,或者给我个方案!!
异常已经明显提示了,在DbHelper 的23行,打开statement的时候是空指定,这说明你的数据库没有连接成功,是空对象,你最好debug跟踪一下
追问终于搞定了,不知道为什么用sqlserver2008就会空指针,而用mysql却不会。
本回答被提问者采纳