基于Struts2+jsp的ajax通过xmlHttp…

本文介绍了一个基于Java和HTML的用户注册名验证过程,包括前端输入验证和后端逻辑处理,确保用户名的可用性。

 

main.jsp

 

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<html>

  <head>

    <title>原始用户名校验</title>

    <script type="text/javascript" src="js/jsverify.js"></script>

  </head>

  <body>

     <h2>原始用户名校验</h2>

     账号:<input type="text" id="name" onblur="verify()">&nbsp;<span id="tips"></span>

  </body>

</html>

 

 

jsverify.js

 

var xmlhttp;

 

//创建我们的XMLHTTPRequest对象

function getXmlHttpRequest(){

    var myxmlhttp;

    if(window.XMLHttpRequest){

        //针对FireFox ,Mozillar,opera,safari,ie8,ie8

        myxmlhttp=new XMLHttpRequest();

        //针对某些特定版本的mozillar浏览器的bug进行修正

        if(myxmlhttp.overrideMimeType){

            myxmlhttp.overrideMimeType("text/xml");

        }

    }

    //IE6.IE5.5,IE5

    //为什么我们把ie的这个判断放在这里

    //1,上边可以尽可能应付多种浏览器

    //2,现在大多数浏览器为上边

    else if(window.ActiveXObject){

        //两个可以用于创建XMLHTTPRequest对象的控件名称,保存在一个Js数组中

        //排在前面的版本较新

        var activeName=["MSXML2.XMLHTTP","MICROSOFT.XMLHTTP"];

        for(var i=0;i<activeName.length;i++){

            try{

                //取出一个空间进行创建,如果成功终止循环

                //创建失败,抛出异常继续循环

                xmlhttp=new ActiveXObject(activeName[i]);

                break;

            }

            catch(e){

 

            }

        }

    }

    return myxmlhttp;

}

 

//我们这里通过最原始的方式来进行开发

function verify(){

 

    var userName=document.getElementByIdx_x_x("name").value;

    xmlhttp=getXmlHttpRequest();

    if(!xmlhttp){

        alert("无法创建xmlhttprequest对象");

    }

    else{

        alert(xmlhttp);

    }

 

    //注册回调函数

    //这里callback不能加()否则就会把函数返回值注册了

    xmlhttp.onreadystatechange=callback;

 

    //设置连接信息

    xmlhttp.open("GET","nametest?name="+userName,true);

    xmlhttp.send();

}

function callback(){

    //1表示读取中,2读取完成,3交互中,4完成

    if(xmlhttp.readyState==4){

        //200表示成功,404表示文件没有找到

        if(xmlhttp.status==200){

            //获取服务器返回的数据

            var responseText=xmlhttp.responseText;

            //将数据显示在页面上

            document.getElementByIdx_x_x("tips").innerText=responseText;

        }

    }

}

 

public class HelloAction extends ActionSupport{

 

    private String name;

    HttpServletResponse response;

    public String execute() throws Exception {

        response=ServletActionContext.getResponse();

        response.setCharacterEncoding("utf-8");

        PrintWriter out=response.getWriter();

        if(name.equals("hanqing")){

            out.println("用户名已经存在");

        }

        else {

            out.println("用户名可以使用");

        }

        return null;

    }

 

    public String getName() {

        return name;

    }

 

    public void setName(String name) {

        this.name = name;

    }

}

 

 

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值