java中的struts2+spring+Hibernate整合的框架中如何使用Ajax完成用户注册的用户名重复

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中的struts2+spring+Hibernate整合的框架中如何使用Ajax完成用户注册的用户名重复相关的知识,希望对你有一定的参考价值。

java中的struts2+spring+Hibernate整合的框架中如何使用Ajax完成用户注册的用户名重复???
比如我在jsp页面中就一个文本输入框:
用户名<s:textfield name="username" size="10" onblur="check()"></s:textfield>
在action里是这么写的
public String Regist()
User user = new User(username);
boolean flag = userService.saveUser(user);
if(flag==true)
return "registsuccess";
else
return "fail";


那么要完成Ajax 的用户名重名验证要怎么写,在jsp中的Ajax方法要怎么写,即onblur="check()">的js方法怎么写啊?还有,action里还要加点什么吗?struts.xml或者web.xml里要写点什么吗?还要导什么jar包吗?求高手指导

ajax和你那些框架包没任何关系,所以那些配置都不用改。
你可以选择自己写xmlHTTPRequest对象底层方法请求,也可以通过一些JS库封装好的Ajax请求代码,我简单说下jquery的吧。 使用jquery做个请求
添加jquery.js文件到你的项目里,在javascript代码中使用。
$.post("请求的地址",function(data)
//data为后台返回的数据,拿到数据如何提示就是你的问题了
);
后台到数据库中查看用户是否已经存在
if(flag==true)
//
else
//

上述两处注释地方就不用return XX了 用PrintWriter 对象 输出回去,才是给前台的数据,比如
PrintWriter out = response.getWriter()
out.writer(1);
那么前台就得到1. 你可以自己区分1为有用户,0为没有等。
参考技术A 如果是三大框架的项目的话,struts需要导入与json相关的jar包,具体的整合如下:
1.在页面写Ajax请求,可以是js,也可以是jquery
2.配置过程:
a.新建web项目;
b.修改web.xml文件
c.在src下添加struts.xml文件,添加jar包支持:freemarker.jar ognl.jar struts2-core.jar commons-fileupload.jar
commons-io.jar xwork-core-2.1.6.jar(这个包加上版本号,是因为下文要提到它),注意jar包支持
这六个包是struts必须依赖的jar包
d. ( 一)在struts2.1.6之前的版本:
添加相应的json包:json-lib.jar jsonplugin.jar 这里要注意很重要的一点,因为json大量引用了Apache commons的包,所以这里要一并加入,
需要的commons包共4个,除了commons的包外,还需要引入一个 ezmorph的包,所以这一步一共要引入7个包,列出如下:
commons-collections.jar commons-lang.jar
commons-beanutils.jar commons-logging.jar ezmorph.jar 再加上json的两个包共七个
(二)struts2.1.6,添加jsonplugin0.34或者jsonplugin0.7
(三)struts2.1.8则添加json-lib-2.2.3.jar,struts2-json-plugin,struts2-junit-plugin

f.配置action
如下例子:
<struts>
<constant name="struts.i18n.encoding" value="utf-8"></constant>
<package name="S2SHJQuery" extends="json-default">
<action name="show" class="action.ShowAction">
<result type="json"/>
</action>
</package>
</struts>
3.编写具体的action
要返回给页面的变量,要声明为action的成员变量,提供get和set方法,并在get方法前加上@json的注解
参考技术B 是需要判断用户名重复的,这个判断是要连接数据库实现的
在regist中加一个用户是否存在的判断即可,可以通过传来的 参数:用户名 从数据库中查询是否存在该用户名再注册
参考技术C 调用这个结果不就可以了

SSH

1、整合思路概述

技术图片
整合即为在Spring中配置各个层的IOC
无非是让Spring容器管理各个层需要的对象

2、整合步骤

注意:
①做一步测试一步,不要一气呵成
②在做框架的时候,能复制千万不要手打
③导入jar包
单独整合Spring到web项目
单独整合Struts2到web项目
配置Struts2与Spring
单独配置hibernate
整合hibernate与Spring

2.1导入jar包

2.1.1导入hibernate jar包

1)hibernate框架必须的基础包

2)Jpa规范包

2.1.2导入Struts2 jar包

1)Struts-blank

一定要去掉重复的jar包

2)导入Struts2-spring-plugin-.jar

2.1.3导入Spring jar包

1)4+2基础包

2)Spring整合web包

3)Spring整合AOP(4个)

4)整合hibernate和事务

5)c3p0连接池包

6)Junit4测试包

7)标签库包

2.2单独整合Spring到web项目

2.3单独整合Struts2到web项目

2.4配置Struts2与Spring

2.5单独配置hibernate

2.6整合hibernate与Spring

以上是关于java中的struts2+spring+Hibernate整合的框架中如何使用Ajax完成用户注册的用户名重复的主要内容,如果未能解决你的问题,请参考以下文章

示例 Struts2 spring4.1 jpa/hibernate3.1.6 中的 java.lang.reflect.InvocationTargetException

java中的struts2+spring+Hibernate整合的框架中如何使用Ajax完成用户注册的用户名重复

关于Spring-Data-Jpa的一些理解

SpringBoot入门 数据库访问之spring data jpa

java 的 struts2 Spring Hibernate 三大框架的整合

java学习笔记(11) —— Struts2与Spring的整合