您好,欢迎访问一九零五行业门户网

使用AJAX异步校验用户名是否存在

这次给大家带来使用ajax异步校验用户名是否存在,使用ajax异步校验用户名是否存在的注意事项有哪些,下面就是实战案例,一起来看一下。
使用ajax完成用户名是否存在异步校验:
1.事件触发:
* onblur
2.编写ajax代码:
* 项action中提交:传递username参数
3.编写action
* 接收username:模型驱动接收.
4.* 编写实体类
* user
* user.hbm.xml
* 配置到spring中.
5.编写dao
* 继承hibernatedaosupport
* 在配置中注入sessionfactory
6.编写service:
* 注入userdao
* 事务管理:
核心代码实现:
function checkusername(){      // 获得文件框值:      var username = document.getelementbyid(username).value;      // 1.创建异步交互对象      var xhr = createxmlhttp();      // 2.设置监听      xhr.onreadystatechange = function(){        if(xhr.readystate == 4){          if(xhr.status == 200){            document.getelementbyid(span1).innerhtml = xhr.responsetext;          }        }      }      // 3.打开连接      xhr.open(get,${pagecontext.request.contextpath}/user_findbyname.action?time=+new date().gettime()+&username=+username,true);      // 4.发送      xhr.send(null);    }    function createxmlhttp(){        var xmlhttp;        try{ // firefox, opera 8.0+, safari          xmlhttp=new xmlhttprequest();        }        catch (e){          try{// internet explorer             xmlhttp=new activexobject(msxml2.xmlhttp);           }          catch (e){           try{             xmlhttp=new activexobject(microsoft.xmlhttp);           }           catch (e){}           }        }        return xmlhttp;       }
public string findbyname() throws ioexception {      // 调用service进行查询:      user existuser = userservice.findbyusername(user.getusername());      // 获得response对象,项页面输出:      httpservletresponse response = servletactioncontext.getresponse();      response.setcontenttype(text/html;charset=utf-8);      // 判断      if (existuser != null) {        // 查询到该用户:用户名已经存在        response.getwriter().println(<font color='red'>用户名已经存在</font>);      } else {        // 没查询到该用户:用户名可以使用        response.getwriter().println(<font color='green'>用户名可以使用</font>);      }      return none;    }
private userdao userdao;    public void setuserdao(userdao userdao) {      this.userdao = userdao;    }    // 按用户名查询用户的方法:    public user findbyusername(string username){      return userdao.findbyusername(username);    }
public user findbyusername(string username){      string hql = from user where username = ?;      list<user> list = this.gethibernatetemplate().find(hql, username);      if(list != null && list.size() > 0){        return list.get(0);      }      return null;    }
<?xml version="1.0" encoding="utf-8"?>  <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd">    <!-- 配置连接池: -->    <!-- 引入外部属性文件 -->    <context:property-placeholder location="classpath:jdbc.properties"/>    <!-- 配置c3p0连接池: -->    <bean id="datasource" class="com.mchange.v2.c3p0.combopooleddatasource">      <property name="driverclass" value="${jdbc.driver}"/>      <property name="jdbcurl" value="${jdbc.url}"/>      <property name="user" value="${jdbc.user}"/>      <property name="password" value="${jdbc.password}"/>    </bean>    <!-- hibernate的相关信息 -->    <bean id="sessionfactory" class="org.springframework.orm.hibernate3.localsessionfactorybean">      <!-- 注入连接池 -->      <property name="datasource" ref="datasource"/>      <!-- 配置hibernate的其他的属性 -->      <property name="hibernateproperties">        <props>          <prop key="hibernate.dialect">org.hibernate.dialect.mysqldialect</prop>          <prop key="hibernate.show_sql">true</prop>          <prop key="hibernate.format_sql">true</prop>          <prop key="hibernate.connection.autocommit">false</prop>          <prop key="hibernate.hbm2ddl.auto">update</prop>        </props>      </property>      <!-- 配置hibernate的映射文件 -->      <property name="mappingresources">        <list>          <value>cn/itcast/shop/user/vo/user.hbm.xml</value>        </list>      </property>    </bean>    <!-- 事务管理: -->    <!-- 事务管理器 -->    <bean id="transactionmanager" class="org.springframework.orm.hibernate3.hibernatetransactionmanager">      <property name="sessionfactory" ref="sessionfactory"/>    </bean>    <!-- 开启注解事务 -->    <tx:annotation-driven transaction-manager="transactionmanager"/>    <!-- action的配置 ===========================-->    <!-- 首页访问的action -->    <bean id="indexaction" class="cn.itcast.shop.index.action.indexaction" scope="prototype">    </bean>    <!-- 配置验证码action -->    <bean id="checkimgaction" class="cn.itcast.shop.user.action.checkimgaction" scope="prototype">    </bean>    <!-- 用户模块的action -->    <bean id="useraction" class="cn.itcast.shop.user.action.useraction" scope="prototype">      <!-- 注入service -->      <property name="userservice" ref="userservice"/>    </bean>    <!-- service的配置 ===========================-->    <bean id="userservice" class="cn.itcast.shop.user.service.userservice">      <property name="userdao" ref="userdao"/>    </bean>    <!-- dao的配置 ===========================-->    <bean id="userdao" class="cn.itcast.shop.user.dao.userdao">      <property name="sessionfactory" ref="sessionfactory"/>    </bean>  </beans>  [html] view plain copy 在code上查看代码片派生到我的代码片 <?xml version="1.0" encoding="utf-8" ?>  <!doctype struts public "-//apache software foundation//dtd struts configuration 2.3//en" "http://struts.apache.org/dtds/struts-2.3.dtd">  <struts>    <constant name="struts.devmode" value="false" />    <constant name="struts.enable.dynamicmethodinvocation" value="true"/>    <package name="shop" extends="struts-default" namespace="/">      <global-results>        <result name="msg">/web-inf/jsp/msg.jsp</result>      </global-results>      <!-- 配置首页访问的action -->      <action name="index" class="indexaction">        <result name="index">/web-inf/jsp/index.jsp</result>      </action>      <!-- 配置用户模块的action -->      <action name="user_*" class="useraction" method="{1}">        <result name="registpage">/web-inf/jsp/regist.jsp</result>        <result name="input">/web-inf/jsp/regist.jsp</result>        <result name="loginpage">/web-inf/jsp/login.jsp</result>        <result name="login">/web-inf/jsp/login.jsp</result>        <result name="loginsuccess" type="redirectaction">index</result>        <result name="quit" type="redirectaction">index</result>        <result name="checkcodefail">/web-inf/jsp/regist.jsp</result>      </action>      <!-- 验证码action -->      <action name="checkimg" class="checkimgaction"></action>    </package>  </struts>
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
ajax怎么操作post请求跳转页面
ajax进行文件与参数上传步奏详解
以上就是使用ajax异步校验用户名是否存在的详细内容。
其它类似信息

推荐信息