基于HTML,以GET方式,检查注册用户名是否在数据库中已存在
2017-02-03 10:02
435 查看
08_register.jsp
UserServlet.java
<%@ page language="java" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>基于HTML,以GET或POST方式,检查注册用户名是否在数据库中已存在</title> </head> <body> <form> 用户名[GET]:<input id="usernameID" type="text" name="username" maxlength="4"/> 光标移出后,立即检查结果 </form> <hr/> <span id="resID"></span> <script type="text/javascript"> //创建AJAX异步对象,即XMLHttpRequest function createAJAX(){ var ajax = null; try{ ajax = new ActiveXObject("microsoft.xmlhttp"); }catch(e1){ try{ ajax = new XMLHttpRequest(); }catch(e2){ alert("你的浏览器不支持ajax,请更换浏览器"); } } return ajax; } </script> <script type="text/javascript"> //定位文本框,同时提供焦点失去事件 document.getElementById("usernameID").onblur = function(){ //获取文本框中输入的值 var username = this.value; //如果用户没有填内容 if(username.length == 0){ //提示 document.getElementById("resID").innerHTML = "用户名必填"; }else{ //对汉字进行UTF-8(U8)的编码 username = encodeURI(username); //NO1) var ajax = createAJAX(); //NO2) var method = "GET"; var url = "${pageContext.request.contextPath}/UserServlet?time="+new Date().getTime()+"&username=" + username; ajax.open(method,url); //NO3) ajax.send(null); //--------------------------------------------------------等待 //NO4) ajax.onreadystatechange = function(){ if(ajax.readyState == 4){ if(ajax.status == 200){ //NO5) var tip = ajax.responseText; //NO6) document.getElementById("resID").innerHTML = tip; } } } } } </script> </body> </html>
UserServlet.java
package cn.itcast.javaee.js.user; 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; /** * 基于HTML,以GET或POST方式,检查注册用户名是否在数据库中已存在 * @author AdminTC */ public class UserServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { String username = request.getParameter("username"); byte[] buf = username.getBytes("ISO8859-1"); username = new String(buf,"UTF-8"); System.out.println("username=" + username); String tip = "<font color='green'>可以注册</font>"; if("杰克".equals(username)){ tip = "<font color='red'>该用户已存在</font>"; } response.setContentType("text/html;charset=UTF-8"); PrintWriter pw = response.getWriter(); pw.write(tip); pw.flush(); pw.close(); } public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); String username = request.getParameter("username"); System.out.println("username=" + username); String tip = "images/MsgSent.gif"; if("杰克".equals(username)){ tip = "images/MsgError.gif"; } response.setContentType("text/html;charset=UTF-8"); PrintWriter pw = response.getWriter(); pw.write(tip); pw.flush(); pw.close(); } }
相关文章推荐
- 转-memcache的最佳实践方案
- SQL server使用笔记
- mysql笔记
- Mysql备份系列(2)--mysqldump备份(全量+增量)方案操作记录
- Mysql的外键约束的要求
- MySQL数据库增量备份及恢复方案
- Redis漏洞-中挖矿程序,占用CPU资源
- ql server 2008评估期已到 不能打开数据库 解决办法
- Mysql小细节
- MAC版修改MySQL初始密码的方法
- Linux下oracle数据库启动和关闭操作
- 各个数据库取前10行记录
- Oracle的安装与卸载
- MySQL中文乱码问题
- SQL极限函数limit()详解<分页必备>
- 2016数据库技术盘点
- SQLyog过期
- mysql 协议的ResultsetRow包及解析
- 云服务器Window Server 2012R系统安装MySQL的详细教程
- Oracle大数据量优化查询