使用onblur来验证用户名。是否被注册过...

来源:互联网 发布:星密码 淘宝介入 被骗 编辑:程序博客网 时间:2024/06/09 18:30

ajax.jsp   2010-05-10


<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
<script type="text/javascript">
function upperCase(nameValue){

 var url = "${pageContext.request.contextPath}/servlet/QueryServlet?username="+nameValue;
  // 调用sendRequest方法发送Ajax异步请求
  sendRequest(url);
 }
 
 
 var xmlHttp = null;
 // 创建XMLHttpRequest对象
 function createXMLHttpRequest(){
  if(window.XMLHttpRequest){
   xmlHttp = new XMLHttpRequest();
  }else if(window.ActiveXObject){
   try{
    xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
   }catch(e){
    try{
     xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }catch(ex){}
   }
  }
 }
 
 // 发送请求
 function sendRequest(url){
  if(xmlHttp==null){
   createXMLHttpRequest();
  }
  xmlHttp.open("GET",url,true);
  // 对于XMLHttpRequest对象,readystate属性存储了回调函数的指针。当
  // XMLHttpRequest对象的内部状态发生变化时,就会调用这个函数。
  xmlHttp.onreadystatechange=callback;
  xmlHttp.send(null);
 }
 
 // 回调函数
 function callback(){
  // 当请求完成且服务器返回状态为OK时
  if(xmlHttp.readyState == 4 && xmlHttp.status == 200){
   var cityString = xmlHttp.responseText;
   if(cityString){
    alert("用户已经存在,请从新输入!");
   
   }
   
  // addCity(cityString);
  }
 }
 
</script>
</head>
<body>
<form action="servlet/Login1Servket" method="post">
用户名:<input type="text"  name="username"  onblur="upperCase(this.value)"><br>
密&nbsp;&nbsp;码:<input type="password"  name="password"><br>
 
<input type="submit" value="注册">
</form>
</body>
</html>

 


 

QueryServlet.java


 

package com.zuxia.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.zuxia.dao.LoginDao;
import com.zuxia.entity.LoginEntity;

public class QueryServlet extends HttpServlet {

 /**
  * Constructor of the object.
  */
 public QueryServlet() {
  super();
 }

 /**
  * Destruction of the servlet. <br>
  */
 public void destroy() {
  super.destroy(); // Just puts "destroy" string in log
  // Put your code here
 }

 /**
  * The doGet method of the servlet. <br>
  *
  * This method is called when a form has its tag value method equals to get.
  *
  * @param request the request send by the client to the server
  * @param response the response send by the server to the client
  * @throws ServletException if an error occurred
  * @throws IOException if an error occurred
  */
 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  doPost(request, response);
 }

 /**
  * The doPost method of the servlet. <br>
  *
  * This method is called when a form has its tag value method equals to post.
  *
  * @param request the request send by the client to the server
  * @param response the response send by the server to the client
  * @throws ServletException if an error occurred
  * @throws IOException if an error occurred
  */
 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {

  response.setContentType("text/html");
  response.setCharacterEncoding("utf-8");
  String name=request.getParameter("username");
  LoginDao loginDao=new LoginDao();
  List<LoginEntity> loginList=loginDao.loginList(name);
  for (LoginEntity loginEntity : loginList) {
   String a=loginEntity.getPassword();
   PrintWriter out=response.getWriter();
   if(a!=null){
    out.println(1);
   }else{
    out.print(0);
   }
   out.flush();
   out.close();
  }
 }

 /**
  * Initialization of the servlet. <br>
  *
  * @throws ServletException if an error occurs
  */
 public void init() throws ServletException {
  // Put your code here
 }

}

 

 

其他代码省略