简单ajax应用实例:ajax+jsp实现用户名验证
2017-04-26 14:12
771 查看
转载出处:http://blog.csdn.net/javaalpha/article/details/6559176
[c-sharp] view
plain copy
ajax是个好东西,本文简单介绍ajax+jsp实现用户名验证的方法。
html页面:
<html>
<title>AJAX实例:对用户名的校验</title>
<!-- 引入verify.js -->
<mce:script type="text/<a href="http://lib.csdn.net/base/javascript" class='replace_word' title="JavaScript知识库" target='_blank' style='color:#df3434; font-weight:bold;'>JavaScript</a>" src="verify.js" mce_src="verify.js"></mce:script>
<body>
<!-- AJAX方式下不需要用表单来提交数据,因此不用写表单标签 -->
<!-- AJAX方式不需要name属性,需要id属性 -->
输入用户名后,当光标离开用户名输入框,即响应onblur事件。
用户名:<input type="text" id="username" onblur="verify()"/>
密 码:<input type="text" id="password"/>
<!-- 这个div用来存入服务器返回的信息,开始为空 -->
<!-- id属性定义是为了利用dom的方式找到一个节点进行操作 -->
<div id="result"></div>
</body>
verify.js文件
//定义XMLHttpRequest对象
var xmlhttp;
function verify(){
var username=document.getElementById("username").value;
//创建XMLHttpRequest对象
if(window.XMLHttpRequest){
//针对FireFox,Mozillar,Opera,Safari,IE7,IE8
xmlhttp = new XMLHttpRequest();
//对某些特定版本的mozillar浏览器的bug进行修正
if(xmlhttp.overrideMineType){
xmlhttp.overrideMineType("text/xml");
}
}else if(window.ActiveXObject){
//针对IE5,IE5.5,IE6
//两个可以用于创建XMLHTTPRequest对象的控件名称。保存在一个JS数组中。
var activexName = ["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
for(var i = 0; i<activeName.length; i++){
//取出一个控件名进行创建,如果成功就终止循环
try{
xmlhttp = new ActiveXObject(activexName[i]);
break;
}catch(e){}
}
}
if(xmlhttp){
alert("XMLHttpRequest对象创建成功!");
return;
}else{
alert("XMLHttpRequest对象创建失败!");
}
//注册回调函数,只写函数名,不能写括号,写括号表示调用函数。
xmlhttp.onreadystatechange = callback;
//设置连接信息(请求方式,请求的url,true表示异步方式交互)
xmlhttp.open("GET","AJAXServer?name=" + username, true);
//发送数据,开始和服务器进行交互。
xmlhttp.send(null);
//使用POST方式请求,需要手动设置http的请求头
//xmlhttp.setRequestHeader("Content-Type","aplication/x-www-form-urlencoded");
//xmlhttp.send("name=" + username);
}
//回调函数
function callback(){
//判断对象的状态是否交互完成
if(xmlhttp.readyState == 4){
//判断http的交互是否成功
if(xmlhttp.status == 200){
//获取服务器端返回的数据(文本)
var resbonseText = xmlhttp.responseText;
//将数据显示在页面上
var divNode = document.getElementById("result");
//设置元素节点中的html内容
divNode.innerHTML = responseText;
}
}
}
后台servlet程序代码:
public class AJAXServer extends HttpServlet{
protected void doPost(httpServletRequest request, HttpServletResbonse resbonse)throws ServletException,IOException{
doGet(request, resbonse);
}
protected void doGet(httpServletRequest request, HttpServletResbonse resbonse)throws ServletException,IOException{
try{
request.setCharacterEncoding("utf-8");
resbonse.setContentType("text/html; charset=utf-8");
PrintWriter out = resbonse.getWriter();
String old = request.getParameter("name");
if(old == null || old.length() == 0){
out.println("用户名不能为空!");
}else{
String name = old;
if(name.equals("zhangsan")){
out.println("用户名[" + name + "]已经存在!");
}else{
out.println("用户名[" + name + "]尚未存在,可以使用!");
}
}
}catch(Exception e){
e.printStackTrace();
}
}
}
说明:
1.onreadystatechange 请求状态改变的事件触发器(readyState变化时会调用此方法)
2.readyState有五中状态:
readyState = 0 未初始化
readyState = 1 表示open方法成功调用
readyState = 2 服务器已经应答客户端请求
readyState = 3 交互中。Http头信息已经接收,响应数据尚未接收。
readyState = 4 数据接收完成。
[c-sharp] view
plain copy
ajax是个好东西,本文简单介绍ajax+jsp实现用户名验证的方法。
html页面:
<html>
<title>AJAX实例:对用户名的校验</title>
<!-- 引入verify.js -->
<mce:script type="text/<a href="http://lib.csdn.net/base/javascript" class='replace_word' title="JavaScript知识库" target='_blank' style='color:#df3434; font-weight:bold;'>JavaScript</a>" src="verify.js" mce_src="verify.js"></mce:script>
<body>
<!-- AJAX方式下不需要用表单来提交数据,因此不用写表单标签 -->
<!-- AJAX方式不需要name属性,需要id属性 -->
输入用户名后,当光标离开用户名输入框,即响应onblur事件。
用户名:<input type="text" id="username" onblur="verify()"/>
密 码:<input type="text" id="password"/>
<!-- 这个div用来存入服务器返回的信息,开始为空 -->
<!-- id属性定义是为了利用dom的方式找到一个节点进行操作 -->
<div id="result"></div>
</body>
verify.js文件
//定义XMLHttpRequest对象
var xmlhttp;
function verify(){
var username=document.getElementById("username").value;
//创建XMLHttpRequest对象
if(window.XMLHttpRequest){
//针对FireFox,Mozillar,Opera,Safari,IE7,IE8
xmlhttp = new XMLHttpRequest();
//对某些特定版本的mozillar浏览器的bug进行修正
if(xmlhttp.overrideMineType){
xmlhttp.overrideMineType("text/xml");
}
}else if(window.ActiveXObject){
//针对IE5,IE5.5,IE6
//两个可以用于创建XMLHTTPRequest对象的控件名称。保存在一个JS数组中。
var activexName = ["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
for(var i = 0; i<activeName.length; i++){
//取出一个控件名进行创建,如果成功就终止循环
try{
xmlhttp = new ActiveXObject(activexName[i]);
break;
}catch(e){}
}
}
if(xmlhttp){
alert("XMLHttpRequest对象创建成功!");
return;
}else{
alert("XMLHttpRequest对象创建失败!");
}
//注册回调函数,只写函数名,不能写括号,写括号表示调用函数。
xmlhttp.onreadystatechange = callback;
//设置连接信息(请求方式,请求的url,true表示异步方式交互)
xmlhttp.open("GET","AJAXServer?name=" + username, true);
//发送数据,开始和服务器进行交互。
xmlhttp.send(null);
//使用POST方式请求,需要手动设置http的请求头
//xmlhttp.setRequestHeader("Content-Type","aplication/x-www-form-urlencoded");
//xmlhttp.send("name=" + username);
}
//回调函数
function callback(){
//判断对象的状态是否交互完成
if(xmlhttp.readyState == 4){
//判断http的交互是否成功
if(xmlhttp.status == 200){
//获取服务器端返回的数据(文本)
var resbonseText = xmlhttp.responseText;
//将数据显示在页面上
var divNode = document.getElementById("result");
//设置元素节点中的html内容
divNode.innerHTML = responseText;
}
}
}
后台servlet程序代码:
public class AJAXServer extends HttpServlet{
protected void doPost(httpServletRequest request, HttpServletResbonse resbonse)throws ServletException,IOException{
doGet(request, resbonse);
}
protected void doGet(httpServletRequest request, HttpServletResbonse resbonse)throws ServletException,IOException{
try{
request.setCharacterEncoding("utf-8");
resbonse.setContentType("text/html; charset=utf-8");
PrintWriter out = resbonse.getWriter();
String old = request.getParameter("name");
if(old == null || old.length() == 0){
out.println("用户名不能为空!");
}else{
String name = old;
if(name.equals("zhangsan")){
out.println("用户名[" + name + "]已经存在!");
}else{
out.println("用户名[" + name + "]尚未存在,可以使用!");
}
}
}catch(Exception e){
e.printStackTrace();
}
}
}
说明:
1.onreadystatechange 请求状态改变的事件触发器(readyState变化时会调用此方法)
2.readyState有五中状态:
readyState = 0 未初始化
readyState = 1 表示open方法成功调用
readyState = 2 服务器已经应答客户端请求
readyState = 3 交互中。Http头信息已经接收,响应数据尚未接收。
readyState = 4 数据接收完成。
相关文章推荐
- 简单ajax应用实例:ajax+jsp实现用户名验证
- 简单ajax应用实例:ajax+jsp实现用户名验证
- 用AJAX实现页面登陆以及注册用户名验证的简单实例
- 使用JSP Servlet和Ajax实现简单的注册页面的用户名密码验证
- Ajax技术验证用户名是否可用,简单实现
- 基于jQuery实现Ajax验证用户名是否可用实例
- ajax 简单应用---用户名无刷新验证
- 用Ajax实现的验证用户名是否重复实例
- Ajax实现局部刷新和异步处理简单应用(实现简单注册验证)
- 东软学习,AJAX的一个简单验证用户名实例
- ajax简单实例用户名验证
- 利用ajax实现简单的注册验证局部刷新实例
- jsp+ajax实现无刷新(鼠标离开文本框即验证用户名)实现思路
- jsp+ajax实现无刷新,鼠标离开文本框即验证用户名
- jsp注册页面,Ajax实现验证用户名是否存在,密码是否一致,当不存在时,注册按钮变成灰色。
- 基于jQuery实现Ajax验证用户名是否存在实例
- 利用ajax实现简单的注册验证局部刷新实例
- Java乔晓松-ajax实现用户名和邮箱唯一验证实例(struts2框架和HIbernate)
- 关于ajax+jsp实现异步校验用户名是否存在的实例(.txt文本)
- 最简单的Ajax应用,异步验证用户名