使用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完成用户名是否存在异步校验,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# ajax异步校验
# ajax
# 用户名异步校验
# ThinkPHP框架结合Ajax实现用户名校验功能示例
# ajax实现用户名校验的传统和jquery的$.post方式(实例讲解)
# ajax设置async校验用户名是否存在的实现方法
# jquery easyUI中ajax异步校验用户名
# SSH网上商城之使用ajax完成用户名是否存在异步校验
# Ajax校验用户名是否存在的方法
# 可以使用
# 连接池
# 验证码
# 首页
# 小编
# 到该
# 是否存在
# 在此
# 其他的
# 给大家
# 相关信息
# 管理器
# 所述
# 给我留言
# 感谢大家
# 疑问请
# 有任何
# 实体类
# getResponse
# Explorer
相关文章:
建站之星如何通过成品分离优化网站效率?
如何在香港免费服务器上快速搭建网站?
义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?
C++用Dijkstra(迪杰斯特拉)算法求最短路径
岳西云建站教程与模板下载_一站式快速建站系统操作指南
黑客入侵网站服务器的常见手法有哪些?
建站之星3.0如何解决常见操作问题?
建站之星安装后如何配置SEO及设计样式?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
安云自助建站系统如何快速提升SEO排名?
香港服务器选型指南:免备案配置与高效建站方案解析
如何通过老薛主机一键快速建站?
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
制作证书网站有哪些,全国城建培训中心证书查询官网?
网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?
公司网站制作需要多少钱,找人做公司网站需要多少钱?
如何配置IIS站点权限与局域网访问?
建站之星Pro快速搭建教程:模板选择与功能配置指南
网站好制作吗知乎,网站开发好学吗?有什么技巧?
官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站
贸易公司网站制作流程,出口贸易网站设计怎么做?
如何快速上传自定义模板至建站之星?
建站上传速度慢?如何优化加速网站加载效率?
网站制作公司广州有几家,广州尚艺美发学校网站是多少?
,制作一个手机app网站要多少钱?
临沂网站制作公司有哪些,临沂第四中学官网?
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析
如何在新浪SAE免费搭建个人博客?
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
淘宝制作网站有哪些,淘宝网官网主页?
如何快速建站并高效导出源代码?
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
nginx修改上传文件大小限制的方法
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?
制作宣传网站的软件,小红书可以宣传网站吗?
建站之星后台密码遗忘如何找回?
独立制作一个网站多少钱,建立网站需要花多少钱?
宝塔建站后网页无法访问如何解决?
如何在IIS服务器上快速部署高效网站?
已有域名如何免费搭建网站?
移民网站制作流程,怎么看加拿大移民官网?
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?
建站之星代理平台如何选择最佳方案?
如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本
南平网站制作公司,2025年南平市事业单位报名时间?
,网页ppt怎么弄成自己的ppt?
建站之星如何一键生成手机站?
*请认真填写需求信息,我们会在24小时内与您取得联系。