Ajax验证用户名是否被注册

var xmlHttp;
function createXMLHttpRequest(){ // 创建XMLHttp请求对象
if(window.ActiveXObject){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}
}
xmlHttp.onreadystatechange=处理方法
xmlHttp:这是XMLHttpRequest对象名称
处理方法:这是自定义的JavaScript方法名称
function startRequest(userName){ // 发送页面请求
createXMLHttpRequest();
xmlHttp.onreadystatechange=handleStateChange; // 指定处理服务器响应的方法
xmlHttp.open("GET","regsiterServlet?userName="+userName,true);
xmlHttp.send(null);
}
<script type="text/javascript">
var xmlHttp;
function createXMLHttpRequest(){ // 创建XMLHttp请求对象
if(window.ActiveXObject){
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){
xmlHttp=new XMLHttpRequest();
}
}
function handleStateChange(){ // 处理应答数据
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
document.getElementById('text').innerHTML=xmlHttp.responseText;
}
}
}
function startRequest(userName){ // 发送页面请求
createXMLHttpRequest();
xmlHttp.onreadystatechange=handleStateChange;
xmlHttp.open("GET","regsiterServlet?userName="+userName,true);
xmlHttp.send(null);
}
</script>
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter(); // 获取应答对象的字符输出流
try {
UserDao dao = new UserDao(); // 创建数据库操作类
String userName = request.getParameter("userName"); // 获取请求对象的用户名参数
if(userName==null||userName.isEmpty()){
// 返回提示信息
out.print("<font color='red'>必须输入用户名</font>");
return;
}
boolean hasUser = dao.hasUser(userName); // 判断数据库是否存在指定用户名
if (hasUser) { // 如果存在重名情况
// 返回已注册信息
out.print("<font color='red'>该用户名已经被注册</font>");
} else { // 否则
// 提示用户可以注册
out.print("<font color='green'>该用户名可以使用</font>");
}
} catch (Exception ex) {
Logger.getLogger(RegisterServlet.class.getName()).log(Level.SEVERE, null, ex);
} finally {
out.close();
}
}
public boolean hasUser(String userName) {
boolean hasUser = false; // 声明检查变量,false代表没有重名用户
Connection conn = getConn(); // 连接数据库
if (conn != null) {
// 定义SQL查询语句
String sql = "SELECT count(*) FROM tb_checkUser where username=?";
try {
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, userName); // 设置查询语句的参数
ResultSet rs = ps.executeQuery(); // 执行SQL查询
if (rs.next()) {
int count = rs.getInt(1); // 获取同名用户数量
if (count > 0) { // 如果同名用户数量大于0
hasUser = true; // 设置检查变量为true,代表用户重名
}
}
rs.close(); // 是否资源
ps.close();
conn.close();
} catch (SQLException ex) {
Logger.getLogger(UserDao.class.getName()).log(Level.SEVERE, null, ex);
}
}
return hasUser;
}

Ajax验证用户名是否被注册的更多相关文章

  1. ajax验证用户名是否被注册 ; ajax提交form表单

    register.html 文件代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" &quo ...

  2. 《ajax学习》之ajax+JavaScript事件验证用户名是否可注册

    当用户注册时,服务器数据库需要对用户输入的用户信息(以用户名为例子)进行验证,在不刷新页面的情况下又需要页面和服务器进行数据请求,最好的方法是用ajax异步请求. 一.实现思路: 1.用户输入信息 2 ...

  3. Django——Ajax发送请求验证用户名是否被注册

    场景: 用户注册的时候,输入用户名之后,Ajax发送请求到后端,后端验证该用户名是否已经被注册,然后返回到注册页面提示用户. 1.模型: from django.db import models cl ...

  4. 基于jQuery实现的Ajax 验证用户名唯一性

    基于jQuery实现的Ajax 验证用户名唯一性 前端jsp页面代码 <tr> <th><span class="requiredField"> ...

  5. 11月10日上午ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库

    1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...

  6. 利用jQuery实现的Ajax 验证用户名是否存在

    异步刷新实现方式有多种,也可以借助JS的多种框架,下面是使用jQuery框架实现的AJAX 验证用户名是否存在 jQuery.ajax概述 HTTP 请求加载远程数据. 通过jQuery 底层 AJA ...

  7. ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库

    1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...

  8. Ajax检测用户名是否已经注册

    程序功能 当用户名输入完成(即用户名输入框失去焦点),利用Ajax检测用户名是否已经注册! 实现过程 利用Ajax向CheckUserServlet发送请求,判断该用户名是否可用.这里只是为了演示Aj ...

  9. 11.10 (下午)开课二个月零六天(ajax验证用户名,ajax调数据库)

    用ajax验证用户名是否可用 testuid.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&quo ...

随机推荐

  1. debug 2

    Red Hat Developer Toolsetdelivers the latest stable versions of essential GCC C, C++, Fortran, and s ...

  2. python学习:一

    第三章:实践题作业 1.编写一个名为 collatz()的函数,它有一个名为 number 的参数.如果参数是偶数,那么 collatz()就打印出 number // 2, 并返回该值.如果 num ...

  3. vertx的Actor模型实现

    前言 note: Context 与 EventLoop 关系 : N ; 每次创建一个vericles或者multi instances 通过EventLoopGroup.next挑出一个Event ...

  4. 如何在MySQL中设置主从复制

    mysql主从同步定义 主从同步机制 配置主从同步 配置主服务器 配置从服务器 使用主从同步来备份 使用mysqldump来备份 备份原始文件 主从同步的小技巧 排错 Slave_IO_Running ...

  5. Redis 学习目录

    Redis in .NET Core 入门 Redis实战 - 1.String和计数器 Redis实战 - 2.list.set和Sorted Set Redis实战 - 4.Key Redis实战 ...

  6. js事件流机制冒泡和捕获

    JavaScript与HTML之间的交互是通过事件实现的.事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间. 事件流 从页面中接收事件的顺序称为事件流. IE --> 事件冒泡流 Netsc ...

  7. java.util.ConcurrentModificationException 记一次坑

    集合在单线程,一个循环内,有添加又删除会出现此异常. 多线程时,在不同的循环操作同一个集合,会出现此异常. 因为,集合长度发生改变时,在迭代器未结束前,迭代器的大小不会发生变化. 1.保证在同一个进程 ...

  8. IE8 disable 兼容行问题

    在chrome 下 如果样式设置为disabled 则不能点击, 但是在IE9 或者IE8 则还是可以点击

  9. 类中被final修饰的成员变量需要初始化

    类中被final修饰的成员变量需要初始化,否则编译不通过,因为final修饰后不能再赋值,因此必须初始化.

  10. 练习html,css,js仿制百度首页

    1.练习目的 练习使用html,scc,js 完成界面样式,用ul标签实现文本框下拉,通过js完成添加列表内容等功能 2.效果 3.程序代码 <!DOCTYPE html> <htm ...