jsp页面

<head>
<script type="text/javascript" src="js/register.js"></script>
</head>
<table>
<td>登录名:</td>
 <td> <input type="text" name="r_name" id="r_name" onblur="CheckUserName()">
 <span id="span01"></span>
 </td>
</table>

js文件夹下的register.js

//创建对象
function ajaxFunction(){
 var xmlHttp;
 try{
 // 适用IE7 , Firefox, Chrome, Opera, Safari
 xmlHttp=new XMLHttpRequest();
 }
 catch(e){
 try{
 //Internet Explorer
 xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
 }
 catch(e){
 try{
 // 适用IE6, IE5
 xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
 }
 catch(e){
 xmlHttp=false;
 }
 }
 }
 return xmlHttp;
 }

var flag=ture;
 function CheckUserName(){
 //获得jsp页面键入的值
var name=document.getElementById("r_name").value;
 if(name==""||name==null){
 document.getElementById("span01").innerHTML="<font color='red'>登录名不可以为空!</font>"
 flag=false;
 }else{
 //1.创建对象
var request=ajaxFunction();
 //2.推送要求
request.open("POST","/StudyWeb/CheckUserNameServlet",true);//true表明多线程递交
//申请注册情况更改监视,获得网络服务器传输回来的数据信息
request.onreadystatechange=function(){
 //readyState==4表明要求早已进行,且回应已准备就绪。status==200表明“OK”
if(request.readyState==4 && request.status==200){
var data=request.responseText;//获得CheckUserNameServlet中response中储存的值
if(data == 1){
 document.getElementById("span01").innerHTML="<font color='red'>登录名已存有!</font>"
 flag=false;
 }else{
 document.getElementById("span01").innerHTML="<font color='green'>√</font>"
 flag=true;
 }
 }
 }
 //如果是post方法带数据信息,那麼这儿要加上头,表明递交的基本数据类型是一个历经url编号的form表格数据信息
request.setRequestHeader("Content-type","application/x-www-form-urlencoded;charset=UTF-8");
 //带数据信息以往,在send方式 里填好表格数据信息
request.send("name=" name);
 }
 return flag;
 }

后台管理StudyWeb新项目下的CheckUserNameServlet

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获得ajax推送回来的name值
String r_name=request.getParameter("name");
 try {
 //检测是不是存有该登录名
boolean isExist=userService.CheckUserName(r_name);
 System.out.println("isExist" isExist);
 //通告页面,究竟是否有
if(isExist){
 response.getWriter().println(1);//存有登录名
}else{
 response.getWriter().println(2);//不会有该客户
}
 } catch (Exception e) {
 e.printStackTrace();
 }
 }

UserDaoImpl中方式 的完成

public boolean CheckUserName(String u_name) {
 boolean flag=false;
 String sql="select u_id,u_name,u_password,u_email,u_phone from user where u_name=?";
 conn=super.getConnection();
 try {
 pstmt=conn.prepareStatement(sql);
 pstmt.setString(1,u_name);
 rs=pstmt.executeQuery();
//假如存有我键入的登录名和数据库表中现有的登录名同样时
if(rs.next()){
flag=true;
 }
 } catch (SQLException e) {
 e.printStackTrace();
 }finally{
 super.closeAll(conn, pstmt, stmt, rs);
 }
 return flag;
 }

小结

之上上述是我给大伙儿详细介绍的ajax认证登录名是不是存有的案例编码,期待对大伙儿有一定的协助,假如大伙儿有一切疑惑热烈欢迎帮我留言板留言我会立即回应大伙儿的!