javaWeb ajax验证用户名唯一性的做法

发布网友 发布时间:2022-04-23 12:43

我来回答

2个回答

懂视网 时间:2022-05-15 05:38

这篇文章主要介绍了Ajax验证用户的唯一性,验证环境Ajax+Jquery+Json+struts2,感兴趣的小伙伴们可以参考一下

针对初学者,学习Ajax验证用户的唯一性实战是为了巩固Ajax,Jquery,Json与Struts2基础知识,具体内容如下

浏览效果图:

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

那我们就开始了,操作步骤如下

1.首先我们先导入所需要的包及文件

Json 包:

这里写图片描述

struts2 包:

这里写图片描述

引入jquery-2.1.1.min.js文件。

<script type="text/javascript" src="js/jquery-2.1.1.min.js"></script>

2.然后,我们需要在web.xml 文件中,配置Struts2过滤器

<filter>
 <filter-name>struts2</filter-name>
 <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
 </filter>
 <filter-mapping>
 <filter-name>struts2</filter-name>
 <url-pattern>/*</url-pattern>
 </filter-mapping>

3.然后,开始编写我们的login.jsp页面,当然大家可以对他加一些CSS样式,使其更加美观。(我只简单做了一下,有点Low)

<p class="row">
 <h1>Ajax+Jquery验证用户的唯一性</h1>
 <form action="" method="post">
 <h3>名字:</h3>
 <input type="text" id="name" class="form-control" name="user.name" id="name" placeholder="请输入你的用户名">
 <br><br>
 <input type="submit" class="btn btn-success" value="验证用户的唯一性"/> 
 <span id="namemsg"></span>
 </form>
</p>

4.然后,我们开始写Action了。

//验证用户的唯一性
public void isexist() throws IOException {
 boolean exist = name.equals("张三") ;
 JSONObject result=new JSONObject();
 if(exist){
 result.put("exist", true);
 }else{
 result.put("exist", false);
 }
 ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");
 PrintWriter out=ServletActionContext.getResponse().getWriter();
 out.println(result.toString());
 out.flush();
 out.close();
 }

5.最后,编写Struts.xml文件

<package name="user" namespace="/" extends="struts-default"> 
 <action name="user_*" class="com.ddge.action.UserAction" method="{1}">
 <result name="error">/login.jsp</result>
 </action>
</package>

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

Ajax调用restful接口传送Json格式数据的方式(附有代码)

Boa服务器下的ajax与cgi通信(图文教程)

Ajax+Struts2实现验证码验证功能(图文教程)

热心网友 时间:2022-05-15 02:46

首先:jQuery是啥呢?它是轻量级的js库。简便开发用的(先这么理解着吧)。

比如:用js根据id获取input元素的值是这样的

var value = document.getElementById('id').value;

那么用jQuery就是这样的

var value = $('#id').val();

是不是简单好多?

jQuery挺简单的,你可以去百度上找中文的API (*.chm 帮助文档),没有很多的长篇大论,都是一些语法加例子,入门很快的。

 

既然上面都说了这么多的关于jQuery的事情了,那么你说的用ajax验证就用jQuery来做吧(js的太复杂了,都忘记了)。

如果每个文本框都需要单独做验证(一般是失去焦点的时候验证)的话,就得写多个,如果简单封装的话,也可以用一个ajax主体框架。

如果是提交的时候验证的话,就只需要写一个就好了。具体是这样的:

$.ajax({
    url: "localhost:8080/xxxxxxx.action",  // 这个是请求路径*.action一般是Struts2的访问后缀,也可以是其他任意后缀(*.html什么什么的都行),"localhost:8080/xxxxxxx.action" 可以写成变量,如var _url = "localhost:8080/xxxxxxx.action",然后传递上去就好:url: _url
    type: "POST", // POST访问方式,一般常用GET(在?后面传参)和POST
    data: {
        "username": username,
        "password": passowrd
    },    // 这个是传递的参数,多个以逗号分割,冒号前面的是key,冒号后面的是value,注意最后一个password后面没有分号或者逗号
    beforSend: function (){
        // 发送请求前的处理,如:提示用户真正验证
        alert("正在提交验证,请稍后..."); 
        return true; // 这个返回true就是往下执行(也就是发送请求) ,返回 false的话,就不发送请求,结束ajax
    },
    success: function(jsonObject){
        // 成功后的回调函数,做后续处理用的。jsonObject 一般是json对象
         if(jsonObject.success){ // jsonObject.success,其实在后台中应该类似于map.put("success",true); 不懂可以查一下json是什么。(其实就是以对象,有属性名,属性值)
             alert("验证通过");
         } else {
             alert("验证不通过");
         }
     } 
});

这就是一个最简单的ajax写法了,data和beforSend都不是必须的。其他的都是必须要的。

自己写个方法简单的封装一下,就可以很简单的实现验证了(想怎么验证就怎么验证,就是这么任性)。

其他的就靠你自己了。

希望我的回答能对你有所帮助,荣幸之至。

追问

大神 这是我的代码 自己钻研了好一会儿还是写不对  js 写的对 但是太麻烦了 这个ajax不太懂  可以看看我哪儿出大错误了吗 谢谢

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com