jQuery+Ajax实现用户名重名实时检测
利用jQuery框架,封装了底层的Ajax异步技术,通过简单的方法调用即可实现。这篇博客是针对用户注册时出现的用户名重名问题的自动检测,利用的技术是Ajax异步传输。
register.jsp注册显示页面
<%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%>用户名: 密码: 性别: 男女 年龄: Email: //检查表单元素的值是否为空 functioncheck(){ varmyform=document.getElementById("myform"); for(vari=0;i
UserServlet逻辑处理Servlet类,用于对用户重名的判断以及响应处理结果的输出等。其中用于数据库检测重名的方法省略了(LoginDao.getInstance().checkUserName(userName.trim());//查找数据库是否存在该用户名)
packagecom.servlet.user;
importjava.io.IOException;
importjava.io.PrintWriter;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
importcom.dao.LoginDao;
importcom.user.UserInfo;
publicclassUserServletextendsHttpServlet{
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
response.setContentType("text/html;charset=UTF-8");//设置响应结果的格式为text/html,字符集为UTF-8
response.setCharacterEncoding("UTF-8");//设置响应结果的字符编码为UTF-8
//禁止缓存
response.setHeader("Cache-Control","no-store,no-cache,must-revalidate");
response.setHeader("Cache-Control","post-check=0,pre-check=0");
response.setDateHeader("Expires",0);
response.setHeader("Pragma","no-cache");
PrintWriterout=response.getWriter();
out.println("");
//从httpRequest()方法中获得请求参数值
//通过httpRequest()方法封装的请求参数被编码为UTF-8格式,此处若想还原原来的编码格式,则需要通过UTF-8格式解码
StringuserName=request.getParameter("userName");
Stringresult=null;
booleancheck=LoginDao.getInstance().checkUserName(userName.trim());//查找数据库是否存在该用户名
if(check){
result="该用户已经被使用";
}else{
result="该用户名可以使用";
}
response.getWriter().print(result);//将结果输出到response响应流中
}
@Override
protectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)
throwsServletException,IOException{
this.doPost(req,resp);
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。