用ajax+struts实现用户名验证功能

用ajax+struts实现用户名验证功能。 

页面端:

<%@ page contentType="text/html; charset=gb2312" %>
<% request.setCharacterEncoding("gb2312"); %>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
<%@ taglib uri="/WEB-INF/jUtil.tld" prefix="jutil"%>
<%@ taglib uri="/WEB-INF/app.tld" prefix="app" %>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>

 <script language="javascript">
 var xmlhttp ;
 function chkUser()
 {
     window.status = '';
     document.getElementById("load").style.display='';
  if(window.ActiveXObject){
   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }else if(window.XMLHttpRequest){
   xmlhttp=new XMLHttpRequest();
  }
 
  var url = "http://localhost/fiip/webapp/home.do?action=verdictuserName";
     xmlhttp.onreadystatechange =getReady;
  var name = document.getElementById("username").value;
  url=url+"&userName="+name;
     xmlhttp.open("GET",url);
     xmlhttp.send(null);
}
function getReady()
{
   if(xmlhttp.readyState == 4)// 完成
   {
     if(xmlhttp.status == 200)//ok  404not  found
     {
        var xmlReturn = xmlhttp.responseText;//服务器的响应,表示一个串
  //alert("sdfsdf");
        document.getElementById("load").innerText=xmlReturn;//表现一组开始标记和结束标记之间的内容
  //var responsediv=document.getElementById("load");
  //var responsetext=document.createTextNode(xmlReturn);
  //responsediv.appendChild(responsetext);
     }
     xmlhttp = null;
   }

}
</script>

</head>

<body>
<form action="" method="post" name="form1">
<table width="564" border="0">
  <tr>
    <td width="89">用户名:</td>
    <td width="465"><input name="username" type="text" id="username" onBlur="chkUser()"> <div id=load style="display:none; position:absolute;right:0px;top:0px;background:#FF5B5B;border:1px solid">正在验证用户名,请稍后……</div></td>
  </tr>
  <tr>
    <td>密码:</td>
    <td><input name="password" type="text" id="password"></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><input type="submit" name="Submit" value="提交">
      <input type="reset" name="Submit2" value="重置"></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td height="15">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
</form>
</body>
</html>

 

 

struts-congfig.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>

  <form-beans >
   <form-bean name="homeForm" type="com.trsoft.home.HomeForm"/>
  </form-beans>
 
 <global-forwards>

 </global-forwards>
 
  <action-mappings>
 
  <action path="/webapp/home"
   type="com.trsoft.home.HomeAction"
      name="homeForm"
      scope="request"
      validate="false">
     
      <forward name="home" path="/webapp/homepage/homepage.jsp"/>
  </action>
 
   </action-mappings>
  
</struts-config>

 

 

 

程序实现:

import java.io.UnsupportedEncodingException;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForward;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;

public class HomeAction extends Action {
 public ActionForward execute(ActionMapping mapping,      
   ActionForm form,
   HttpServletRequest request,
   HttpServletResponse response) throws UnsupportedEncodingException{
 
  request.setCharacterEncoding("gb2312");
  String action=(String)request.getParameter("action");
  String forward="";
  /**
   * @功能:判断用户是否已注册
   *
   * @参数:
   *   String username用户名
   *  
   *
   * @流程:
   *
   */
  else if("verdictuserName".equals(action)){
   String msgStr="";
   try{
     response.setContentType("text/html;charset=GB2312");
     String userName=(String)request.getParameter("userName");
     System.out.println("userName = "+userName);
     if("gong".equals(userName)){ //找查数据库中有无该用户名
      msgStr ="对不起,此用户名已经存在,请更换用户名注册!";
     }else{
      msgStr ="用户未被注册,可以使用";
     }
     response.getWriter().write(msgStr);
   
    }catch(Exception ex){
    
    }
  }
 
  /**
   * @功能:用户注册
   *
   * @参数:
   *   String username用户名
   *   String password 密码
   *
   * @流程:
   *
   */
  else if("register".equals(action)){
  
  }
 
  return mapping.findForward(forward);
 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值