1. ajax是什么?
* asynchronous javascript and xml:异步的js和xml
* 它能使用js访问服务器,而且是异步访问!
* 服务器给客户端的响应一般是整个页面,一个html完整页面!但在ajax中因为是局部刷新,那么服务器就不用再响应整个页面!而只是数据!
> json:它是js提供的数据交互格式,它在ajax中最受欢迎!

2. 异步交互和同步交互
* 同步:
> 发一个请求,就要等待服务器的响应结束,然后才能发第二个请求!中间这段时间就是一个字“卡”
> 刷新的是整个页面!
* 异步:
> 发一个请求后,无需等待服务器的响应,然后就可以发第二个请求!
> 可以使用js接收服务器的响应,然后使用js来局部刷新!

3. ajax应用场景
* 百度的搜索框
* 用户注册时(校验用户名是否被注册过)

4. ajax的优缺点
优点:
* 异步交互:增强了用户的体验!
* 性能:因为服务器无需再响应整个页面,只需要响应部份内容,所以服务器的压力减轻了!

缺点:
* ajax不能应用在所有场景!
* ajax无端的增多了对服务器的访问次数,给服务器带来了压力!

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>My JSP 'ajax3.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script type="text/javascript">
//创建异步对象
function createXMLHttpRequest() {
try {
return new XMLHttpRequest();//大多数浏览器
} catch (e) {
try {
return ActvieXObject("Msxml2.XMLHTTP");//IE6.0
} catch (e) {
try {
return ActvieXObject("Microsoft.XMLHTTP");//IE5.5及更早版本
} catch (e) {
alert("哥们儿,您用的是什么浏览器啊?");
throw e;
}
}
}
}

window.onload = function() {
// 获取文本框,给它的失去焦点事件注册监听
var userEle = document.getElementById("usernameEle");
userEle.onblur = function() {
//1.得到异步对象
var xmlHttp = createXMLHttpRequest();
//2.打开连接
xmlHttp.open("POST", "<c:url value='/ValidateUsernameServlet'/>", 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元素
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>

SERVLET:

public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");

/*
* 1. 获取参数username
* 2. 判断是否为itcast
* 3. 如果是:响应1
* 4. 如果不是:响应0
*/
String username = request.getParameter("username");
if(username.equalsIgnoreCase("WTY")) {
response.getWriter().print("1");
} else {
response.getWriter().print("0");
}
}

转载于:https://www.cnblogs.com/oycq9999/p/10334198.html

AJAX:校验用户名是否被注册相关推荐

  1. 删除商品信息恢复的java_零基础学习java------35---------删除一个商品案例,删除多个商品,编辑(修改商品信息),校验用户名是否已经注册(ajax)...

    一. 删除一个商品案例 将要操作的表格 思路图 前端代码 > Insert title here 查詢商品列表 idnamecategorypnumdescription描述${product. ...

  2. ajax 用户已注册,Ajax检测用户名是否已经注册

    程序功能 当用户名输入完成(即用户名输入框失去焦点),利用Ajax检测用户名是否已经注册! 实现过程 利用Ajax向CheckUserServlet发送请求,判断该用户名是否可用.这里只是为了演示Aj ...

  3. 十七 Ajax校验用户名功能

    Ajax: 即"Asynchronous JavaScript And XML", 异步JavaScript和XML , 是指一种创建的交互式页面应用的网页开发技术,它并不是新的技 ...

  4. Ajax——判断用户名是否已经注册

    1.1.Ajax 1.Ajax:异步的JavaScript and XML 2.目的:用来发送异步请求,然后当服务器给我想要的时候进行回调操作 3.好处:提高用户体验:局部刷新: 1.2.判断用户名是 ...

  5. javaweb基础----使用ajax校验用户名是否重复

    首先是前端js的代码: 1 <script type="text/javascript"> 2 function checkForm(){ 3 //1.验证用户名不能为 ...

  6. ssm用ajax校验用户名,SSM之检验用户名是否重复

    1.controller(事务处理)层方法 /*** *检验学院名是否重复(是否可用) ResponseBody:返回的是json数据 * @param xueyuan_name * @param r ...

  7. ajax校验用户名可用吗,基于jQuery实现Ajax验证用户名是否可用实例

    本文实例为大家分享了jQuery ajax简单案例-验证用户名是否可用的具体代码,供大家参考,具体内容如下 HTML Insert title here //页面加载完成后 $(function() ...

  8. ajax注册判断怎么写,ajax之判断用户名是否被注册

    /** * * @author liang * 需求:模拟注册校验: * 1:jsp页面放置一个text文本框,当用户输入用户名,文本框失去焦点的时候,通过ajax访问服务器 * 2:servlet模 ...

  9. java ajax找回密码,Java之AjaxAjax异步校验用户名

    Ajax 即"Asynchronous JavaScript And XML"(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术.Ajax并非一种新的技 ...

最新文章

  1. 【单片机】写电子钟时遇到的问题
  2. linux setup 进步了网卡,linux 网卡修改小结
  3. 怎么区分五类线、超五类线和六类线
  4. 基于知识的推荐系统(案例学习)
  5. You have mail in /var/spool/mail/root
  6. oracle里的concat,oracle 中的 CONCAT,substring ,MINUS 用法
  7. pin码计算器网页版_AP微积分Excel简便计算+网页工具指南
  8. VsCode crtl + 鼠标右键 python代码无法跳转
  9. 存储图片到第三方云服务器
  10. 电源大师课笔记 2.9
  11. 企业网站管理系统php源码,云优CMS企业网站管理系统
  12. sas 显示本地服务器,sas连接服务器local
  13. 无人车成功挑战上海路况,连续5小时不接管,谷歌自动驾驶之父看了都打Call...
  14. Unity - IL2CPP报错
  15. 脸书COO桑德伯格:最终塑造我们的,是我们经历的艰难时光
  16. 500G技术资源分享
  17. 晶体管分类、符号及作用
  18. 彻底卸载360画报教程
  19. Googel广告推广后台如何操作?Googel广告怎么投放?
  20. git 远程仓库操作

热门文章

  1. 使用nodejs消费SAP Cloud for Customer上的Web service
  2. 回退n帧协议c语言代码,[计算机网络]Ch.3 数据链路层
  3. mysql5.1修改登陆密码_mysql 5.1版本修改密码及远程登录mysql数据库的方法
  4. arraylist转int数组_LeetCode 1389. 按既定顺序创建目标数组
  5. plsql存储过程修改后怎么保存_Solidity变量存储位置与gas成本详解
  6. vlan绑定_图文并茂深入了解VLAN工作原理,不能错过干货
  7. 监控程序崩溃重启_Bug 10 重启和正常输入的抉择记录
  8. python generator输出_python 高级特性:Generator(生成器)
  9. linux read nchars,Linux常用命令--read
  10. html正则表达式识别网址,JS正则匹配URL网址的方法(可匹配www,http开头的一切网址)...