关于那些网站的用户名咋验证存在的,有时候你也许在注册用户的时候,你会发现,很多系统都有这样的功能。今天我就来细细的讲解下。
首先讲解思路,当你输入用户名,光标移动的时候就是一个事件。这个是js的知识,不知道的自己去补习补习。该事件触发一个方法,该方法将用户名传递到控制层,控制层传递给模型层,模型层有一个专门查询用户名的方法。通过这个方法查询该用户名是否存在,再将得到的结果传给控制层,控制层返回一个结果,然后视图层将该结果显示出来。
大概就是这个模式:自己用的Windows自带的画图工具画的,勿介意
先看看jsp的代码
$.getJSON("check?user.name="+name,function(root,error){
var retname= $.parseJSON(root);
if(retname.retCode == "F"){
document.getElementById("msg").innerHTML="<font color='red'>该账号不可用</font>";
document.getElementById("userName").value="";
}else{
document.getElementById("msg").innerHTML="<font color='green'>该账号可用</font>";
}
});
再看看控制层的代码
String name=userService.checkUser(user.getName());
String msg="F";
if(!name.equals("F")){
msg="T";
}
result="{\"retCode\":\""+msg+"\"}";
return SUCCESS;
最后看看模型层的代码
List<?> list=null;
try {
String hql="from User where name ='"+name+"'";
list=this.getHibernateTemplate().find(hql);
if(list.size()>0){
return "F";//存在数据返回F
}else{
return "T";//不存在数据返回T
}
} catch (Exception e) {
e.printStackTrace();
}
return "F";
最后看看效果图
本文介绍了一种用户在注册过程中实时验证用户名是否已被占用的技术实现方案。通过前端JS监听输入事件,将用户名发送到后端进行检查,根据后端返回的结果在前端显示用户名是否可用。




被折叠的 条评论
为什么被折叠?



