ajax和struts结合验证用户名是否存在

ajax和struts结合验证用户名是否存在
【 标签:ajax,apache,jsp,struts,getwriter 】【 发布时间:2008-01-16 】上一篇  下一篇   

jsp页面代码

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <TITLE>Ajax验证用户名是否存在例子</TITLE>
  <script>
 
  //设一个变量
 
  var XMLHttpReq=false;
   //创建一个XMLHttpRequest对象
   function createXMLHttpRequest(){
     if(window.XMLHttpRequest){ //Mozilla
      XMLHttpReq=new XMLHttpRequest();
      }
      else if(window.ActiveXObject){
       try{
        XMLHttpReq=new ActiveXObject("Msxml2.XMLHTTP");
        }catch(e){
         try{
          XMLHttpReq=new ActiveXObject("Microsoft.XMLHTTP");
          }catch(e){}
          }
         }
        }
   //发送请求函数
   function send(url){
    createXMLHttpRequest();
    XMLHttpReq.open("get",url,true);
    XMLHttpReq.onreadystatechange=proce;   //指定响应的函数
    XMLHttpReq.send(null);  //发送请求
    }
   function proce(){
    if(XMLHttpReq.readyState==4){ //对象状态
     if(XMLHttpReq.status==200){//信息已成功返回,开始处理信息   
                 <!--测试读取xml开始-->
     var root=XMLHttpReq.responseXML;
     var res=root.getElementsByTagName("content")[0].firstChild.data;
     var test=root.getElementsByTagName("test")[0].firstChild.data;
     window.alert(res);
     window.alert("测试显示:"+test);
      <!--测试读取xml结束-->  
     //var xmlReturn = XMLHttpReq.responseText;
     //window.alert(xmlReturn);
     }else{
      window.alert("所请求的页面有异常");
      }
      }
      }
   //身份验证
   function check(){
    var name=document.getElementById("name").value;
    
     if(name==""){
      alert("请输入姓名!");
      return false;
      }
      else{
       //send('login?name='+name); 
       document.getElementById("load").style.display='';   
       send('loginAction.do?name='+name);
       document.getElementById("load").style.display='none';         
       }
      }
     
   </script>
  </head>
 
  <body>
  <form action="login" method="post">
   <table>
       <tr><td>姓名: <input id="name" type="text" name="name"/><p>
        <div id=load style="display:none; position:absolute;right:0px;top:0px;background:#FF5B5B;border:1px solid">正在验证用户名,请稍后……</div><p>
          <input type="button" value="检测!" onClick="check()"/>
       </td>
      </tr>
      </table>
      </form>
  </body>
</html>



action代码

package tt;

import java.io.UnsupportedEncodingException;

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

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class LoginAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm actionform,
   HttpServletRequest request, HttpServletResponse response) {
  
  try {
   request.setCharacterEncoding("gb2312");
  } catch (UnsupportedEncodingException e) {
   e.printStackTrace();
  }
  try{
   String msgStr="";
   response.setContentType("text/xml;charset=GB2312");
   response.setHeader("Cache-Control","no-cache");
   String name=(String)request.getParameter("name");
   System.out.println("name = "+name);
   if("gong".equals(name)){ //找查数据库中有无该用户名
   msgStr ="对不起,此用户名已经存在,请更换用户名注册!";
   }else{
   msgStr ="用户未被注册,可以使用!";
   }
   response.getWriter().println("<?xml version='1.0' encoding='GB2312' ?>");
   response.getWriter().println("<root>");
   response.getWriter().println("<content>");
   response.getWriter().print(msgStr);
   response.getWriter().println("</content>");
   response.getWriter().println("<test>");
   response.getWriter().println("哈哈,我在测试呢!");
   response.getWriter().println("</test>");
   response.getWriter().println("</root>");
   response.getWriter().close();
   }catch(Exception ex){

   } 
  return null;

}
}




你可能感兴趣的:(apache,jsp,Ajax,xml,struts)