注册 登录
编程论坛 J2EE论坛

jsp怎么样在表单页面验证用户名是否存在

柠檬可乐 发布于 2009-11-02 23:52, 9125 次点击

程序代码:
<form id="form1" name="login" method="post">
用户名:<input name="user" type="text" id="user" size="15" /><br /><br />
密 码:<input name="pass" type="password"  id="Pass" size="15" />
<br /><br />
<input type="submit" name="submit" value="登录"  /> &nbsp;
<input type="reset" name="submit2" value="取消"  />
</form>

如果输入错误的用户名,移走光标以后,到数据库里去查询,弹出窗口提示用户名不存在
请问,怎么实现?
14 回复
#2
Lovedandan2009-11-03 13:02
回复 楼主 柠檬可乐
ajax
#3
windizual2009-11-03 18:21
我是用的javascript + javabean 写的
Javabean负责查询结果
javascript负责判断和输入
#4
柠檬可乐2009-11-03 18:46
我知道用Javabean怎么做,但是用javascript怎么做啊
#5
windizual2009-11-05 13:43
回复柠檬可乐
javascript用一个if语句判断javaBean里面查询的返回值
然后输出alert就可以了啊~~~~~~
还有什么我没说清楚的地方么?
#6
jwfk2009-11-05 15:22
<script type="javascript">
        function check(form)
        {
            if(form.user.value=="")
            {
                window.alert("用户名没有输入");
                return;
            }
            form.submit();
        }
</script>


<input type="button" name="submit" onClick="check(form1)" value="登录" />

不知道LZ的意思是不是这样
#7
windizual2009-11-06 11:01
楼上的稍微改下,你那个是在点击BUTTON时才开始验证
LZ要的是移开光标验证,不过这个是有现成方法的
去API文档查下就知道了
#8
柠檬可乐2009-11-06 23:23
程序代码:
<script language="javascript">
function check()
{
    if(login.user.value == "")
    {
        alert("用户名不能为空");
        login.user.focus();
        return false;
    }
    else {
    if(login.pass.value == "")
    {
   
        alert("密码不能为空");
        login.pass.focus();
        return false;
    }
    else{
    <%
    sql="select ManagerNo,ManagerPass * from Manager";
    rs=Bean.exeSQL(sql);
    boolean login_ok = false;
    while(rs.next()){
    if((login.user.value=="<%=rs.getString("ManagerNo")%>") && (login.pass.value=="<%=rs.getString("ManagerPass")%>"))
    {
    login_ok = true;
            break;
    }
    else
    login_ok = false;
    }%>
    }
    }   
    return true
}
</script>

帮忙看一下,这样错在哪里


表单我已经改成这样了
<form id="form1" name="login" method="post" action="shouye.jsp" onSubmit="return check()">







#9
冰弦冷瑟2009-11-07 09:54
JavaScript里面穿插服务器端代码,可以这样写吗?其实楼主可以考虑用Ajax来做,在页面无刷新的情况下实现了验证功能。把参数传到servlet,在servlet里面进行判断,然后在客户端 接收响应即可。
#10
windizual2009-11-07 11:40
if((login.user.value=="<%=rs.getString("ManagerNo")%>") && (login.pass.value=="<%=rs.getString("ManagerPass")%>"))
额,为什么还要在这里用《% %》这个符号?这里已经是Java程序段了啊

select ManagerNo,ManagerPass * from Manager
SQL语句中也没必要这么写,你都用getString的方法返回了用户名和密码了,
还有必要在里面查询这两样东西么?
#11
柠檬可乐2009-11-07 22:52
回复 9楼 冰弦冷瑟
ajax是什么东西啊,我还没接触过
#12
柠檬可乐2009-11-07 22:55
回复 10楼 windizual
这样写应该没什么大碍的吧,问题是JavaScript里面插入sql语句,可以吗
#13
lampeter1232009-11-09 11:10
以下是引用柠檬可乐在2009-11-7 22:52:07的发言:

ajax是什么东西啊,我还没接触过
只有本站会员才能查看附件,请 登录


这个是用ajax实现的,你可以将它修改下就可以用在你的网站上了
#14
leonardo382010-02-01 09:25
如果非要这样写,还不如在SQL语句select ManagerNo,ManagerPass * from Manager后面直接将输入的用户和密码当条件查询,看反悔的list是不是有值,有值就是登陆成功,不过在JS里写服务器端代码这种方式,最好还是别用,用ajax能轻松实现功能的
#15
kobestoper2016-07-07 15:14
回复 13楼 lampeter123
程序代码:
if(rs.next()){
    out.println("对不起,该用户名已经被注册了");
    System.out.println("12345");
}else{
    out.println("恭喜你,该用户名可以注册");
    System.out.println("6789");
}
rs.close();
stmt.close();
conn.close();
%>
这段都有跑进来,为什么没显示出来到页面
1