1.用AJAX(使用dwr)来判断用户名是否可用,利用json返回值

本文介绍如何使用DWR框架实现Web应用中实时检查用户名是否已存在。具体步骤包括配置DWR、创建检查方法、配置Spring Bean及利用JS进行前端调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、准备工作

   1,下载dwr.jar添加到项目中

   2,创建配置文件:/WEB-INF/dwr.xml

   3,在web.xml中配置

     <servlet>

<servlet-name>dwr</servlet-name>

<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>

<init-param>

<param-name>debug</param-name>

<param-value>true</param-value>

</init-param>

    </servlet>


<servlet-mapping>

<servlet-name>dwr</servlet-name>

<url-pattern>/dwr/*</url-pattern>

</servlet-mapping>


二、在类中创建判断用户名是否已经用过的方法

public boolean checkName(String QqName){

List list = qdao.findByProperty("qqName(数据库里的name)",QqName);

       if(list!=null && list.size()>0){

return true;

}

else

return false;

}


三、applicationContext.xml

<bean id="userBiz" class="包名.类名">

<property name="类中定义的对象名">

<ref bean="获取id"></ref>

</property>

</bean>

四、在/WEB-INF下创建dwr.xml

<?xml version="1.0" encoding="utf-8">

<dwr>

<allow>

<create creator="spring"  javascript="JUserChecker">

<param name="beanName" value="userBiz(在spring配置中的id)"/>(业务类在spring配置的id)

<include method="方法名假设checkName">

</create>

</allow>

</dwr>



五、jsp页面代码

<script src='dwr/interface/JUserChecker.js'></script>(JUserChecker.js配写的js对象名
<script src='dwr/engine.js'></script>(引入需要的脚本)
<script src='dwr/util.js'></script>
<script type="text/javascript">

function checkUserExists(){

var username = document.f1.qqName.value;
JUserChecker.checkName(username,show);

}

function show(msg)
{
if(msg==true)
alert("用户名重复");
else
alert("用户名可以使用");
}

</script>


 <form name="f1" action="reg.do" method="post" onsubmit="return check()">
    <table>
    <tr><td>用户名</td><td><input type="text" name="qqName"/><a href=""  onclick="return checkUserExists()"><font color="red">检查用户名是否可用</font></a></td></tr>

//在这里或者用失去焦点 <input type="text" name="qqName" onblue="return checkUserExists()"/>

</form>


----------------------------------------------------------------------------------json------------------------------------------------

1,导包jquery-1.6.4.min.js

2,js代码:

<script type="text/javascript" src="jquery-1.6.4.min.js"></script>
    <script type="text/javascript">
    function check(){    
    $.ajax({
    type: "POST",
  url: "userJson.action",

data:'name='+$('#name‘).val(),
  dataType: 'json',
  success: function(msg){
    alert( "Data Saved: " + msg.msg +";"+msg.success);
    }
}); 
   
    }
    </script>

3,jsp页面

  用户名:<input type="text" name="name"  id="name" onblur="return check()">

4,Action页面

HttpServletResponse response = ServletActionContext.getResponse();//得到response
response.setContentType("text/json");
PrintWriter out = response.getWriter();

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

out.print("{\"success\":true,\"msg\":\"Ok\"}");//json语句

out.flush();
out.close();

}else{

}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶半欲缺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值