AJAX验证用户名是否已存在
2016-05-28 01:09
411 查看
书上的例子,稍作修改,贴上来。
html文件写的是js脚本和输入框,servlet做验证
html->servlet:通过xmlHttp.open("GET","servlet/UserNameCheck?username=" + document.userform.username.value,true);
servlet->html:xmlHttp.responseText
TestAjax3.html
UserNameCheck.java(一个Servlet)
html文件写的是js脚本和输入框,servlet做验证
html->servlet:通过xmlHttp.open("GET","servlet/UserNameCheck?username=" + document.userform.username.value,true);
servlet->html:xmlHttp.responseText
TestAjax3.html
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>TestAjax3</title> <script type="text/javascript"> var xmlHttp; function createXMLHttp(){ try{ xmlHttp=new XMLHttpRequest(); }catch (e){ try{ xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); }catch (e){ try{ xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); }catch (e){ alert("浏览器不支持Ajax"); return false; } } } nextToDo(); } function nextToDo(){ xmlHttp.onreadystatechange = function(){ if(xmlHttp.readyState == 4){ document.getElementById("usermsg").innerHTML="<font color=blue>"+xmlHttp.responseText+"</font>"; } }; xmlHttp.open("GET","servlet/UserNameCheck?username=" + document.userform.username.value,true); //System.out.println(request.getParameter("message")); xmlHttp.send(null); } </script> </head> <body> <form action="" name="userform"> 输入:<input type="text" name="username" onblur="createXMLHttp();"> <span id="usermsg"></span><br/> <input type="submit" value="提交"> </form> </body> </html>
UserNameCheck.java(一个Servlet)
import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class UserNameCheck extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ArrayList<String> usernames = new ArrayList<String>(); usernames.add("fdsv1"); usernames.add("flys"); usernames.add("bfdsa"); response.setContentType("text/xml; charset=UTF-8");//设置响应文本格式 response.setHeader("Cache-Control", "no-cache"); //设置没有缓存 PrintWriter out = response.getWriter(); //获得输出流 String username = request.getParameter("username");//获得username参数 boolean flag = false; //初始化变量falg for(String uname : usernames){ //遍历所有的用户名 if(uname.equals(username)){ flag = true; break; } } String message; if(flag) { //如果flag为true //message="该用户名已经被占用,请重新输入!"; message="√"; out.println(message); }else { //如果flag为false //message="该用户名可以使用!"; message="X"; out.println(message); } request.setAttribute("message", message); out.flush(); //刷新输出流 out.close(); //关闭输出流 } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); //调用doGet方法 } }
相关文章推荐
- 1014. 福尔摩斯的约会 (20)
- 计数DP
- 用Python写一个发邮件模块
- angular中$emit与$broadcast详解
- 软件项目管理复习题要
- Android Retrofit 请求字符串(非JSON数据)
- window下搭建nginx服务器
- linux下使用openssl的对称密码体制对文本和文件加密
- scripts/config/mconf: Syntax error: “(” unexpected错误解决
- 都是我的错,错不该拒绝HR的心意
- SLAB分配器小结
- 二分查找算法的原理及一个实用小技巧
- 将HTML表格的每行每列转为数组,采集表格数据
- Haproxy 配置详解
- centos 编译安装PHP7
- 121. Best Time to Buy and Sell Stock [easy] (Python)
- hdu2222,AC自动机,trie图
- VC中TRACE()的用法
- 简读RSS-MVVM模式的安卓客户端实现
- Java基础回顾 : 文件类中的一些常用的方法