Ajax验证用户名是否被注册
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验证用户名是否被注册的更多相关文章
- ajax验证用户名是否被注册 ; ajax提交form表单
register.html 文件代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" &quo ...
- 《ajax学习》之ajax+JavaScript事件验证用户名是否可注册
当用户注册时,服务器数据库需要对用户输入的用户信息(以用户名为例子)进行验证,在不刷新页面的情况下又需要页面和服务器进行数据请求,最好的方法是用ajax异步请求. 一.实现思路: 1.用户输入信息 2 ...
- Django——Ajax发送请求验证用户名是否被注册
场景: 用户注册的时候,输入用户名之后,Ajax发送请求到后端,后端验证该用户名是否已经被注册,然后返回到注册页面提示用户. 1.模型: from django.db import models cl ...
- 基于jQuery实现的Ajax 验证用户名唯一性
基于jQuery实现的Ajax 验证用户名唯一性 前端jsp页面代码 <tr> <th><span class="requiredField"> ...
- 11月10日上午ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库
1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...
- 利用jQuery实现的Ajax 验证用户名是否存在
异步刷新实现方式有多种,也可以借助JS的多种框架,下面是使用jQuery框架实现的AJAX 验证用户名是否存在 jQuery.ajax概述 HTTP 请求加载远程数据. 通过jQuery 底层 AJA ...
- ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库
1.ajax的基础知识 ajax是结合了jquery.php等几种技术延伸出来的综合运用的技术,不是新的内容.ajax也是写在<script>标签里面的. 如果使用ajax一定是要有1个处 ...
- Ajax检测用户名是否已经注册
程序功能 当用户名输入完成(即用户名输入框失去焦点),利用Ajax检测用户名是否已经注册! 实现过程 利用Ajax向CheckUserServlet发送请求,判断该用户名是否可用.这里只是为了演示Aj ...
- 11.10 (下午)开课二个月零六天(ajax验证用户名,ajax调数据库)
用ajax验证用户名是否可用 testuid.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&quo ...
随机推荐
- mybatis:SQL拦截器
打印执行的SQL语句 import java.sql.Connection; import java.text.DateFormat; import java.util.Date; import ja ...
- WPF 10天修炼 第七天- WPF资源、样式、控件模板
WPF资源 对象资源 WPF允许在XAML标记的任意位置定义资源.比如在特定的控件.窗口或应用程序级别定义资源,WPF资源系统提供的对象资源有如下好处: 1. 高效:使用对象资源可以在一个地方定义而 ...
- WPF 10天修炼 第五天- 内容控件
WPF内容控件 在WPF中,所有呈现在用户界面上的对象都称为用户界面元素.但是只有派生自System.Windows.Controls.Control类的对象才称为控件.内容控件通常是指具有Conte ...
- c博客作业--函数
1.1 思维导图 1.2 本章学习体会及代码量学习体会 1.2.1 学习体会 刚刚开始学习函数的时候,由于之前对函数有过一定的了解,所以还算比较顺利,不过还是经常出现函数定义和调用的错误,这应该是对函 ...
- 《剑指offer》二叉树的深度
本题来自<剑指offer> 反转链表 题目: 思路: C++ Code: Python Code: 总结:
- eclipse导入本地的svn项目后不能在team提交更新
由于项目是在本地有svn检出,然后再想通过eclipse 修改然后在eclipse内部提交和更新,但是此时,team里并没有update和commit选项, 又不想重新再检出一次项目,怎么办? 可以在 ...
- iOS UINavigationController Class Translation
类 UINavigationController 一个容器视图控制器,定义了用于导航分层内容的基于堆栈的方案. 概述 导航控制器是一个在导航界面中,管理一个或多个子视图控制器的容器视图控制 ...
- 消息队列(MQ)
1. 分类: 获取消息方式:A. push(推)方式:优点——可以尽可能快地将消息发送给消费者,缺点——如果消费者处理能力跟不上,消费者的缓冲区可能会溢出: B. pull(拉)方式:优点—— ...
- HTTP协议详解及http1.0与http1.1http2.0的区别
HTTP协议介绍 http(超文本传输协议)是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.特点: (1)支持客户/服务器模式. HTTP是一个客户端和服务器端请 ...
- django.db.utils.OperationalError: cannot ALTER TABLE "servers_ecs" because it has pending trigger events
数据库:postgresql9.4 原因:这是因为数据库的字段原来可以为null,现在改变该字段为not null,而你的数据库有数据,而这些数据该字段已经为null