`
l万lin
  • 浏览: 27837 次
  • 性别: Icon_minigender_1
  • 来自: 江西
社区版块
存档分类
最新评论

Ajax,Java无刷新简单验证用户名[详细代码]

阅读更多

功能: 检测userName是否可用.userName为admin则不可用,反之可用.实际则可根据自己的需求到数据库验证.

login.jsp 代码:

 

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>无刷新验证用户名是否可用</title>
    <script type="text/javascript" src="js/checkUsernamePost/login.js" charset="utf-8"></script>
  </head>
  <body>
    <h2>无刷新验证用户名是否可用</h2>
  	<input type="text" id="userName" />
  	<span id="tip" style="display:none;color:red"></span>
  	<br />
  	<input type="button" value="ajax验证" onclick="checkUserName();"/>
  </body>
</html>

 login.js 代码:

 

 

var $ = function(id) {
	return document.getElementById(id);
}
// 得到 XMLHttpRequest 对象
var getXMLHttpRequest = function() {
	var xmlHttp;
	try {
		xmlHttp = new XMLHttpRequest();
	} catch (e) {
		try {
			xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e2) {
			try {
				xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e3) {
				window.alert("Sorry,your browser does not support Ajax!");
			}
		}
	}
	return xmlHttp;
}
var xmlHttp = "";
// 检测 username
var checkUserName = function() {
	// 得到 XMLHttpRequest
	xmlHttp = getXMLHttpRequest();
	if (xmlHttp) {
		// open
		xmlHttp.open("post", document.URL + "checkUsername", true);
		// window.alert(document.URL + "checkUsername");
		// 设置 Content-type
		xmlHttp.setRequestHeader("Content-type",
				"application/x-www-form-urlencoded");
		// 设置回调函数
		xmlHttp.onreadystatechange = statechange;
		// send
		var sendData = "userName=" + $("userName").value;
		xmlHttp.send(sendData);
	}
}
// ajax回调函数
var statechange = function() {
	// 0: 请求未初始化
	// 1: 服务器连接已建立
	// 2: 请求已接收
	// 3: 请求处理中
	// 4: 请求已完成,且响应已就绪
	if (xmlHttp.readyState == "4") {
		// 200: "OK"
		// 404: 未找到页面
		if (xmlHttp.status == "200") {
			var isOK = xmlHttp.responseText;
			if ("t" == isOK) {
				$("tip").innerHTML = "恭喜,用户名可用!";
			} else if ("f" == isOK) {
				$("tip").innerHTML = "对不起,用户名不可用!";
				$("userName").value = "";
			}
			$("tip").style.display="inline-block";
		}
	}
}

 CheckUsername.java 代码:

 

 

package com.checkUsernamePost;

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;

public class CheckUsername extends HttpServlet {
	private static final long serialVersionUID = 1L;

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		req.setCharacterEncoding("utf-8");
		resp.setCharacterEncoding("utf-8");
		resp.setContentType("text/html;charset-utf-8");
		String userName = req.getParameter("userName");
//		System.out.println(userName);
		PrintWriter out = resp.getWriter();
		// 简单验证,不从数据库中取数据.userName为admin则不可用
		if ("admin".equals(userName)) {
			out.print("f");
		} else {
			out.print("t");
		}
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		this.doGet(req, resp);
	}
}

 web.xml 配置文件:

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">    
    <servlet>
        <servlet-name>checkUsername</servlet-name>
        <servlet-class>com.checkUsernamePost.CheckUsername</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>checkUsername</servlet-name>
        <url-pattern>/checkUsername</url-pattern>
    </servlet-mapping>
    
    
    
    
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

 

文件结构:



 

运行结果:



 

 

 

 

 

 

 

  • 大小: 41.2 KB
2
2
分享到:
评论
1 楼 岭岭睡不醒 2015-01-28  
原生js,j2ee原生servlet。不错。想起了上学的时候。

砸实基础,支持一下。

现在很多应届生出来,都不懂这些了。 他们只知道jquery、easyUI,甚至连table都不能写出来。只知道struts2 SpringMVC,连servlet都不知道

相关推荐

    jsp+ajax实现无刷新(鼠标离开文本框即验证用户名)实现思路

    jsp+ajax实现无刷新,鼠标离开文本框即验证用户名,很方便的功能,感兴趣的朋友可以了解下,或许对你学习ajax无刷新有所帮助

    JAVA上百实例源码以及开源项目

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    JAVA上百实例源码以及开源项目源代码

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    java源码包---java 源码 大量 实例

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    Ajax 四级导航菜单ASP+Access动态版

    jQuery+AJAX+ASP无刷新提交、删除、翻页实例 ASP+AJAX无刷新用户注册、判断用户名数据库版 Ajax无刷新登录实例(ASP+ACCESS) ASP+ajax树状折叠菜单动态读取数据库版 ASP+AJAX表单验证含省市级联菜单 ASP+AJAX批量...

    java源码包2

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...

    java6_chapter912_ajax_jquery2019-8-21.zip

    第一种方式实现ajax异步刷新--ajax 2.需求2: 第二种方式实现ajax异步刷新--get 3.需求3: 第三种方式实现ajax异步刷新--post 4.需求4: 第四种方式实现ajax异步刷新--getJSON 5.需求5: 第五种 使用jquery发送...

    java源码包4

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...

    java源码包3

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 ...

    ajax验证用名是否存在

    这是我自己写的一个关于ajax 对用户名的验证,后台用JAVA代码建一个XML而成,不用刷新页面

    java 图文验证码

    第2种是Ajax实现无刷新的彩色验证码,如图1.2所示。第3种是加密的验证码,如图1.3所示。 登录用户名和密码统一为mr,mrsoft。 图1.1 英文、数字和中文混合的彩色验证码的运行结果 图1.2 Ajax实现无刷新的彩色...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Java从网络取得文件 1个目标文件 简单 Java从压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板 使用Java语言编写的一款...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Java从网络取得文件 1个目标文件 简单 Java从压缩包中提取文件 1个目标文件 简单 Java存储与读取对象 1个目标文件 如题 Java调色板面板源代码 1个目标文件 摘要:Java源码,窗体界面,调色板 使用Java语言编写的一款...

    sl.rar_color password java

    一个登陆验证程序本程序共提供了三种图文验证方法,第1种是英文、数字和中文混合的彩色...第2种是Ajax实现无刷新的彩色验证码,如图1.2所示。第3种是加密的验证码,如图1.3所示。 登录用户名和密码统一为mr,mrsoft。

    Java课程设计-基于JavaWeb和Mysql实现的宿舍管理系统源码带数据库+详细说明文档.zip

    1.项目代码均经过功能验证ok,确保稳定可靠运行。欢迎下载食用体验! 2.主要针对各个计算机相关专业,包括计算机科学、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师、企业...

    java面试宝典

    31、java 中会存在内存泄漏吗,请简单描述。 11 32、abstract 的method 是否可同时是static,是否可同时是native,是否可同时是synchronized? 11 33、静态变量和实例变量的区别? 11 34、是否可以从一个static 方法...

    毕业设计-基于JSP的时装原创设计交流网ssh+mysql-设计与实现(源码+论文+视频).zip

    管理员登录采用AJAX方式进行验证,先是在前台获取输入的管理中登录账号、密码,点击登录后,通过AJAX方式,后台异步进行验证,实现页面无刷新的管理员登录。 2.程序运行效果图如图4.1所示: 图4.1 管理员登陆页面...

    图文验证码模块

    第2种是Ajax实现无刷新的彩色验证码,如图1.2所示。第3种是加密的验证码,如图1.3所示。 登录用户名和密码统一为mr,mrsoft。 图1.1 英文、数字和中文混合的彩色验证码的运行结果 图1.2 Ajax实现无刷新的彩色...

Global site tag (gtag.js) - Google Analytics