ajax,jsp,struts2验证用户名是否存在

来源:互联网 发布:洗脑神曲排行榜 知乎 编辑:程序博客网 时间:2024/06/05 10:37

网上找了好多例子,都不太好用,今天自己写个可以实现此功能的小项目,如果想要此项目的话,可以到此链接下载http://download.csdn.net/detail/liulong547026741/5238189,如果不想下载,就请看看我下面的代码:

首先,jsp页面我们应该怎么去写,如下:

<%@ page language="java" contentType="text/html; charset=utf-8"  
    pageEncoding="utf-8"%>  
       
<%@ taglib prefix="s" uri="/struts-tags" %>  
<!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=ISO-8859-1">  
  
<link type="text/css" rel="stylesheet" href="index.css">  
<script type="text/javascript" src="js/jquery-1.2.6.min.js"></script>  
<script type="text/javascript" src="js/index.js"
>
</script>  
  
<title>============Regist=============</title>  
</head>  
<body>  
    <s:form action="testAction" method="post" namespace="/user">  
        <table>  
            <tr>  
                <td>UserName</td>              
                <td id="t1"><input type="text" name="userName" id="userName"  /></td>             
                <td><div id="tip1"></div></td>             
            </tr>  
            <tr>  
                <td>Password</td>              
                <td id="t2" colspan="2"><input type="password" name="userPwd1" id="userPwd1" /></td>             
            </tr>  
            <tr>  
                <td>Password AG</td>               
                <td id="t3" colspan="2"><input type="password" name="userPwd2" id="userPwd2" /></td>             
            </tr>  
            <tr>  
                <td colspan="3">  
                    <input type="submit" value="submit" />  
                    <input type="reset" value="reset" />  
                </td>  
            </tr>  
        </table>  
    </s:form>  
</body>  
</html>  


下面是上面红色部分的index.js代码,js/jquery-1.2.6.min.js自己到网上下载,

index.js:

$(document).ready(function(){   
    var inputUserNameObj = $("#userName");   
    var inputUserPwd1Obj = $("#userPwd1");   
    var inputUserPwd2Obj = $("#userPwd2");   
   
    inputUserNameObj.keyup(function(){   
        var text = inputUserNameObj.val();   
        if(text == ""){   
            $("#t1").css("border-color","red");   
        }else{   
            $("#t1").css("border-color","black");   
        }   
    });   
       
    $("#userName").blur(function(){   
        var text = inputUserNameObj.val();   
        $.post("testAction.action?userName="+text,null,function(response){   
            if(response=="用户名已经存在"){
             document.getElementById("tip1").innerHTML="<font color='red'>"+response+"</font>";
            }else{
             document.getElementById("tip1").innerHTML="<font color='blue'>"+response+"</font>";
            }
        });   
    });   
       
});  




下面java代码:

package com.hisoft.jqt.action;   
  
import java.io.IOException;   
import java.io.PrintWriter;   
import java.util.HashMap;   
import java.util.Map;   
  
import javax.servlet.http.HttpServletRequest;   
import javax.servlet.http.HttpServletResponse;   
  
import net.sf.json.JSONObject;   
  
import org.apache.struts2.ServletActionContext;   
  
   
import com.opensymphony.xwork2.ActionContext;   
import com.opensymphony.xwork2.ActionSupport;
  
@SuppressWarnings("serial")
public class TestAction extends ActionSupport{  
  
    HttpServletRequest hsr; 
    
    String result;   
       
    public HttpServletRequest getHsr() {   
        return hsr;   
    }   
  
    public void setHsr(HttpServletRequest hsr) {   
        this.hsr = hsr;   
    }   
  
    public String getResult() {   
        return result;   
    }   
  
    public void setResult(String result) {   
        this.result = result;   
    }   
  
    public String test() throws IOException{   
      
    Map<String, String> map = new HashMap<String, String>();   
           
        ActionContext ac = ActionContext.getContext();   
        HttpServletRequest req = (HttpServletRequest)ac.get(ServletActionContext.HTTP_REQUEST);   
        HttpServletResponse res = (HttpServletResponse)ac.get(ServletActionContext.HTTP_RESPONSE);   
        String userName = req.getParameter("userName");   
        map.put("userName", userName);   
       
        res.setContentType("text/html;charset=UTF-8");   
        
        PrintWriter w = res.getWriter();   
       
        if("jack".equals(userName)){   
            JSONObject jo = JSONObject.fromObject(map);         
            this.result = jo.toString();      
            w.println("可以使用");   
        }else{   
            w.println("不可以使用");   
        }   
        w.close();   
        
        return "success";   
    }       
}  


其实struts.xml大可先不管,因为现在只是想验证用户名是否存在,还不用提交,所以我这里没有提供struts.xml的代码

下面要提醒一个注意点,那就是还需要两个jar包,一个是json-lib-2.1-jdk.jar,这个jar包,struts中有提供,自己去找,然后加进去,另外一个是jsonplugin-0.33.jar,这里也要注意,jsonplugin-0.33.jar只适用于struts版本在2.1.*的,如果版本不匹配,可能会报错,但不用担心,到网上下载一个匹配的就可以了,很多免费的。可能有点烦,但可以实现

原创粉丝点击