程序功能

当用户名输入完成(即用户名输入框失去焦点),利用Ajax检测用户名是否已经注册!

实现过程

利用Ajax向CheckUserServlet发送请求,判断该用户名是否可用。这里只是为了演示Ajax的用法,就不访问数据库了,直接设置一些用户名就好了,模拟一下即可。

关于中文编码的处理

坑爹,在javascript中传递中文参数,需要先编码,然后解码。详细见JavaScript利用URL向后台传入中文参数乱码问题解决之道。

运行截图

代码实例

JSP页面

pageEncoding="UTF-8"%>

检查用户名是否唯一

function checkUser(username) {

if (username.value == "") {

alert("请输入用户名!");

username.focus();

return;

} else {

createRequest('CheckUserServlet?user='+encodeURI(encodeURI(username.value)));

}

}

function createRequest(url) {

http_request = false;

if (window.XMLHttpRequest) {

http_request = new XMLHttpRequest();

} else if (window.ActiveXObject) {

try {

http_request = new ActiveXObject("Msxml2.XMLHTTP");

} catch (e) {

try {

http_request = new ActiveXObject("Microsoft.XMLHTTP");

} catch (e) {

}

}

}

if (!http_request) {

alert("不能创建XMLHttpRequest对象实例!");

return false;

}

//alert("创建成功!");

http_request.onreadystatechange = getResult;

http_request.open('GET', url, true);

http_request.send(null);

}

function getResult() {

if (http_request.readyState == 4) { //请求已经完成

if (http_request.status == 200) { //请求成功

document.getElementById("msg").innerHTML = http_request.responseText;

} else {

alert("你请求的页面有错误!");

}

}

}

用户名:

密 码:

检查是非已经注册的工具类

package cn.edu.pzhu.servlet.util;

public class UserUtils {

private static String[] userList = {"张三", "李四", "Tom", "Jerry"};

public static boolean checkUser(String username) {

boolean ok = true;

for (int i = 0; i < userList.length; i++) {

if (username.equals(userList[i])) {

ok = false;

break;

}

}

return ok;

}

}

servlet处理

package cn.edu.pzhu.servlet;

import java.io.IOException;

import java.io.PrintWriter;

import java.net.URLDecoder;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.jasper.tagplugins.jstl.core.Out;

import cn.edu.pzhu.servlet.util.UserUtils;

/**

* Servlet implementation class CheckUserServlet

*/

@WebServlet("/CheckUserServlet")

public class CheckUserServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

/**

* @see HttpServlet#HttpServlet()

*/

public CheckUserServlet() {

super();

// TODO Auto-generated constructor stub

}

/**

* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String username = request.getParameter("user");

//解码

username = URLDecoder.decode(username, "UTF-8");

System.out.println(username);

PrintWriter out = response.getWriter();

if (UserUtils.checkUser(username)) {

out.print("该用户名可用!");

} else {

out.print("该用户名不可用!");

}

//request.getRequestDispatcher("index.jsp").forward(request, response);

}

/**

* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

*/

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

doGet(request, response);

}

}

如有不当之处欢迎指出!

ajax 用户已注册,Ajax检测用户名是否已经注册相关推荐

  1. ajax用户名注册自动刷新,ajax+jsp实现 无刷新页面下注册时检测用户名是否已存在...

    当前位置:编程学习 > JAVA >> ajax+jsp实现 无刷新页面下注册时检测用户名是否已存在 如题:ajax+jsp实现 无刷新页面下注册时检测用户名是否已存在 求大神们赐教 ...

  2. 如何在注册表里计算机用户名,可以通过注册表修改电脑的密码 ?怎么做的?

    可以通过注册表修改电脑的密码 ?怎么做的?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 可以通过注册表修改电脑的密码 ...

  3. ajax用户登录模块,ajax用户注册模块

    ajax用户注册模块 内容精选 换一换 用户输入码流给VDEC解码,某些帧或所有帧都没有触发回调函数,用户收不到解码结果.码流中某些帧是坏帧,导致语法解析不出这些帧的含义,或者解码这些帧失败,从而不调 ...

  4. asp.net mvc ajax get读取服务器数据 ,post检测用户名 实例讲解下载

    [实例简介] asp.net mvc ajax 读取服务器两种方式实例以及 ajax post方式检测用户名是否可用实例 文件:590m.com/f/25127180-494085336-22b65d ...

  5. 什么是Ajax ? 为什么要学习Ajax jQuery中的Ajax怎么使用 10

    什么是Ajax Ajax 的全称是 Asynchronous JavaScript And XML (异步 JavaScript 和 xml ) 通俗理解:在网页中利用 XMLHttpRequest ...

  6. windows系统下注册和检测 ocx,dll控件的问题.........

    in fact ...ocx控件注册和检测其实是对注册表中的相应的项注册和检测,当然注册表那些操作函数就不能不用到: 注册ocx控件无非两句话的功夫, 1.在系统目录下即:C:/windows/sys ...

  7. 使用jquery ajax 实现用户的用户名注册验证,如果该用户已存在则提示该用户已存在

    使用jquery ajax 实现用户的用户名注册验证,如果该用户已存在则提示该用户已存在 jQuery AJAX 基本使用方法 接口使用 http://180.76.117.80:8080/AjaxS ...

  8. php异步检测用户名是否已经存在,AJAX实例-检测用户名是否存在

    用户注册时,需要填写个人信息,其中包括用户名.当用户输入完成时,JavaScript 需要及时检测用户名是否存在,如果存在给出提示,请用户更换用户名. 当然,这个步骤可以在用户提交表单以后由后台程序检 ...

  9. AJAX:校验用户名是否被注册

    1. ajax是什么? * asynchronous javascript and xml:异步的js和xml * 它能使用js访问服务器,而且是异步访问! * 服务器给客户端的响应一般是整个页面,一 ...

最新文章

  1. @Controller和@RestController的区别?
  2. 实操教程|Pytorch常用损失函数拆解
  3. Loading class `com.mysql.jdbc.Driver'. This is deprecated警告处理
  4. 【2017-05-30】WebForm文件上传。从服务端删除文件
  5. extjs4mvc增删改查_asp.net下利用MVC模式实现Extjs表格增删改查
  6. 【scala初学】scala 控制 for while match if
  7. 在Python3中将字符串转换为字节的最佳方法
  8. 今天的被子照样不叠的飞鸽传书
  9. UITextField 文本字段控件 -- IOS (解决键盘遮住View及密文設定的问题)(实例)
  10. m1 MBA配置python及Numpy科学计算环境
  11. JLOI2015 城池攻占
  12. day042 css 选择器
  13. [leetcode] (周赛)869. 重新排序得到 2 的幂
  14. Kali系列之网卡地址配置
  15. qq语音聊天 java_用Java语言实现QQ部分聊天功能
  16. 荣耀 MagicBook V 14 2022款评测
  17. 数商云采购管理系统支付结算功能详解,实现建筑工程企业采购业务智能化管理
  18. 牛客网视频总结5(二叉树)
  19. Winodws 快速添加开机启动项
  20. JZOJ 4745. 看电影

热门文章

  1. 线程和进程的各自特点和区别
  2. ThreeJS简易魔方自动还原实现(一)层先法
  3. 如何在Schlage Connect Smart Lock上启用警报
  4. 文件名称对目标文件夹可能过长, 删除长文件夹中的文件
  5. javascript------H5调用手机相机录像拍照并回显(input操作)
  6. my.资料_副本_破六欲
  7. 含泪整理最优质生鲜食品网页设计模板素材,你想要的这里都有
  8. 我的世界网页版怎么玩服务器,【小白攻略】如何开始游戏
  9. iOS滤镜系列-滤镜开发概览
  10. 海岛奇兵游戏设计分析