利用jQuery框架,封装了底层的Ajax异步技术,通过简单的方法调用即可实现。这篇博客是针对用户注册时出现的用户名重名问题的自动检测,利用的技术是Ajax异步传输。

register.jsp 注册显示页面

用户名:
密码:
性别:

type="radio" name="sex" value="女" title="性别" />女

年龄:
Email:

οnclick="check()" />

// 检查表单元素的值是否为空

function check() {

var myform = document.getElementById("myform");

for ( var i = 0; i < myform.length; i++) {

if (myform.elements[i].value == "") {

alert(myform.elements[i].title + "不能为空");

myform.elements[i].focus();

return;

}

}

myform.submit(); // 表单中最后input提交标签用的是button类型,首先不提交表单,在js判断表单项都不为空时 再提交表单。

}

$(function(){

$(":input[name='name']").blur(function(){

var val = $(this).val();

val = $.trim(val);

if(val != ""){

var url = "${pageContext.request.contextPath }/UserServlet"; // 将前端的业务转到后端Servlet来处理。最后Servlet再将结果返回给前端JSP页面

var args = {"userName":val, "time":new Date()};

$.post(url, args, function(data){ // URL中处理的结果都保存在data数据中,而data中的格式是Servlet中返回的结果格式,即为html

$("#message").html(data); //将data结果附加到div中

});

}

});

});

UserServlet 逻辑处理Servlet类,用于对用户重名的判断以及响应处理结果的输出等。其中用于数据库检测重名的方法省略了(LoginDao.getInstance().checkUserName(userName.trim()); // 查找数据库是否存在该用户名)

package com.servlet.user;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.dao.LoginDao;

import com.user.UserInfo;

public class UserServlet extends HttpServlet {

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, 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");

PrintWriter out = response.getWriter();

out.println("<?xml version=\"1.0\" encoding=\"utf-8\"?>");

// 从httpRequest()方法中获得请求参数值

// 通过httpRequest()方法封装的请求参数被编码为UTF-8格式,此处若想还原原来的编码格式,则需要通过UTF-8格式解码

String userName = request.getParameter("userName");

String result = null;

boolean check = LoginDao.getInstance().checkUserName(userName.trim()); // 查找数据库是否存在该用户名

if (check) {

result = "该用户已经被使用";

} else {

result = "该用户名可以使用";

}

response.getWriter().print(result); // 将结果输出到response响应流中

}

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp)

throws ServletException, IOException {

this.doPost(req, resp);

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

java实现ajax同名验证_jQuery+Ajax实现用户名重名实时检测相关推荐

  1. ajax重名检测,jQuery+Ajax实现用户名重名实时检测

    利用jQuery框架,封装了底层的Ajax异步技术,通过简单的方法调用即可实现.这篇博客是针对用户注册时出现的用户名重名问题的自动检测,利用的技术是Ajax异步传输. register.jsp 注册显 ...

  2. Ajax实现简单用户名重名查询

    很早就想发布这篇POST了,Ajax实现简单用户名重名查询,引用了xmlhttprequest object pool,如下: XMLHttpRequest Object Pool /**  * XM ...

  3. mysql查询同名同姓重名人数,全国同名同姓人数在线查询,重名率查询

    全国同名同姓人数在线查询,重名率查询 时间:2020-05-21 21:30:01 不少爸爸妈妈在为孩子起名之时,会想知道在全中国重名的人数,希望婴儿的姓名不会跟太多人一样.或者有的人单纯想弄明白国内 ...

  4. java账号注册重复验证_Java+Ajax实现用户名重复检验

    实体类代码: /** * */ package com.hqj.dao; /** *@author HuangQinJian 下午9:12:19 2017年4月23日 */ public class ...

  5. java jquery提交表单_Jquery ajax提交表单几种方法

    在jquery中ajax提交表单有post与get方式,在使用get方式时我们可以直接使用ajax 序列化表单$('#表单ID').serialize();就行了,下面我来介绍两个提交表单数据的方法. ...

  6. Java基础--成员变量和局部变量(区别、重名问题)

    成员变量和局部变量 注:所有的变量没有赋值是不能使用的!!! 两者的区别:定义的位置不同:成员变量:定义在类中成员位置的变量,称为实例变量 / 类变量,在类中方法外局部变量:定义在类中方法中作用范围不 ...

  7. django-simple-captcha 使用 以及添加动态ajax刷新验证

    layout: post title: django-simple-captcha 使用 以及添加动态ajax刷新验证 description: "django-simple-captcha ...

  8. AJAX——注册新用户的重名提示

    基本概念 AJAX:AJAX引擎其实是一个JavaScript对象,全写是 window.XMLHttpRequest对象,由于浏览器的版本不同,特别是老版本的IE浏览器,虽然也支持AJAX引擎,但是 ...

  9. jQuery+Ajax+Mysql 检测用户名注册时是否重名

    利用jQuery框架,封装了底层的Ajax异步技术,通过简单的方法调用即可实现.这篇博客是针对用户注册时出现的用户名重名问题的自动检测,利用的技术是Ajax异步传输. register.jsp 注册显 ...

最新文章

  1. python使用matplotlib可视化3D直方图(3D histogram、三维直方图、包含三个坐标轴x、y、z)、3D直方图可视化多个维度数据的区别和联系
  2. spring 动态数据源
  3. 编程实战一通讯录程序
  4. 自适应/响应式网页设计
  5. 学校不用考直接过计算机一级,全国计算机等级考试1级是不是必须要考的啊
  6. SAP ERP物料和SAP Cloud for Customer的同步
  7. ftp列表错误,flashfxp列表错误,ftp无法列目录的解决方法
  8. HDU 5238 Calculator 线段树 中国剩余定理
  9. iOS Programming UIWebView 2
  10. 笔记:Hadoop权威指南 第9章 构建Hadoop集群
  11. 彻底解决--“未能加载文件或程序集“xxx.dll”或它的某一个依赖项”
  12. bzoj1984 月下“毛景树”
  13. SL8100 3.6V~100V降压型大功率LED恒流驱动器
  14. 重量级ORM框架--持久化框架Hibernate【关系映射详解】
  15. T32. High.最长有效括号
  16. 使用docker搭建个人博客
  17. Chrome插件扩展程序的默认安装目录
  18. 提取LSV中的高程数据在CAD中进行道路的方案设计流程
  19. 基于微信小程序奶茶店在线点单管理系统#毕业设计
  20. 图片格式网页在线一键转换源码

热门文章

  1. Chrome浏览器:分享几个好玩的浏览器扩展
  2. jquery实现点击复制文本
  3. 基于单片机烟雾报警器硬件系统设计-毕设课设
  4. JSP九大内置对象,四大作用域
  5. 清明短信延迟一个月,导致兄弟翻脸
  6. java 泛型 默认值_java泛型 Java泛型的入门知识
  7. Compose-Coil基础上手
  8. 我爱加菲之加菲语录……(续)
  9. python画图颜色设置_python画图自定义colorbar
  10. 按键精灵执行sql语句,获取返回值