Ajax教程—用户名是否被注册之案例篇(三)
2016-05-27 19:18
316 查看
1、Ajax简介
AJAX即“AsynchronousJavascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术、AJAX=异步 JavaScript和XML(标准通用标记语言的子集)。
AJAX 是一种用于创建快速动态网页的技术。
通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面。
教程连接
Ajax教程一响应text文本
Ajax演示用户名是否被注册例子
Ajax教程
例子:注册表单之校验用户是否注册!
Servlet类:
package com.ajax.data; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class AjaxServlet */ @WebServlet("/AjaxServlet") public class AjaxServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request,response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); /* * 1. 获取参数username * 2. 判断是否为itcast * 5. 如果为空:响应2 * 3. 如果是:响应1 * 4. 如果不是:响应0 */ String username = request.getParameter("username"); if(username.equalsIgnoreCase("chen")) { response.getWriter().print("1"); }else if(username.equalsIgnoreCase("")) { response.getWriter().print("2"); }else { response.getWriter().print("0"); } } }
jsp页面、显示页面与处理:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>演示用户名是否被注册</title> <script type="text/javascript" src="ajax_createXMLHttpRequest/createXMLHttpRequest.js"></script> <script type="text/javascript"> window.onload = function() { // 获取文本框,给它的失去焦点事件注册监听 var userEle = document.getElementById("usernameEle"); userEle.onblur = function() { //1.得到异步对象 var xmlHttp = createXMLHttpRequest(); //2.打开连接 xmlHttp.open("POST", "<c:url value='/AjaxServlet'/>", true); //3.设置请求头:Content-Type xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //4.发送请求,给出请求体 xmlHttp.send("username=" + userEle.value); //5.给xmlHttp的onreadystatechange事件注册监听 xmlHttp.onreadystatechange = function() { //双重判断 if(xmlHttp.readyState == 4 && xmlHttp.status == 200) { //获取服务器的响应,判断是否为1 // 是:获取span,添加内容:“用户名已被注册” var text = xmlHttp.responseText; var span = document.getElementById("errorSpan"); if(text == "1"){ span.innerHTML = "很抱歉!用户名已被注册!"; }else if(text == "2") { //得到span元素 span.innerHTML = "请输入用户名!"; }else if(text == "0"){ span.innerHTML = "恭喜您!该用户名可以注册哦!"; }else { span.innerHTML = ""; } } }; }; }; </script> </head> <body> <h1>演示用户名是否被注册</h1> <form action="" method="post"> 用户名:<input type="text" name="username" id="usernameEle"/><span id="errorSpan"></span><br/> 密 码:<input type="password" name="password"/><br/> <input type="submit" value="注册"/> </form> </body> </html>
createXMLHttpRequest.js
/** * 创建XMLHttpRequest * return XMLHttpRequest * 适用常用浏览器 * */ function createXMLHttpRequest() { try { //大多数浏览器 return new XMLHttpRequest(); } catch (e) { try { //IE6.0 return ActvieXObject("Msxml2.XMLHTTP"); } catch (e) { try { //IE5.5及更早版本 return ActvieXObject("Microsoft.XMLHTTP"); } catch (e) { alert("请换更新版本的浏览器!该浏览器不支持XMLHttpRequest!"); throw e; } } } }
效果图
相关文章推荐
- Makefile经典教程
- bzoj 3112: [Zjoi2013]防守战线 单纯形
- webservice 客户端 调用服务端 进行测试
- ACM程序设计选修课——Problem E:(ds:图)公路村村通(Prim)
- Android利用tcpdump和wireshark抓取网络数据包
- [shader]旋转,偏移,焚毁
- 二分图最大匹配(匈牙利算法Dfs模板)
- 2016第22周五
- JS判断浏览器
- WWN,WWNN,WWPN区别
- jQuery工具方法
- CodeForces 595A
- bash 命令执行环境
- I/O多路复用之select/poll/epoll
- css实现三角形原理
- 中位数计数
- STL标准入门汇总
- Spring之AOP(学习笔记)
- Android RadioButton与ListView的混合使用
- 第13周 阅读程序,写出运行结果。 (2)虚析构函数