使用MyEclipse集成SSH和DWR(三)整合Spring和DWR
2008-09-30 03:06
639 查看
开发环境:
JDK 1.5
Tomcat 6.0
Spring 2.5
Struts 1.3
Hibernate 3.2
DWR 2.0
MyEclipse 6.5
SQL Server 2005
本系列文章PDF格式及示例源代码请到[/b]此处下载。
Spring与DWR整合的价值在于DWR使用的BO全部交给Spring管理,从而充分利用Spring强大的IoC和AOP特性。
1. 添加dwr.jar到WEB-INF/lib下,并在web.xml中添加对DWR的加载代码
<servlet>
<servlet-name>dwr-invoker</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-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
2. 在DWR中加载Spring配置文件,有三种方式:
1) 【最佳方案】使用org.springframework.web.context.ContextLoaderListener,在WEB-INF/web.xml 中做如下配置:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
2) 在dwr.xml中指定使用哪些bean,你可以使用location*参数。你可以指定任意多个文件,只要参数以location开始并且唯一即可。例 如:location-1, location-2。这些location被用做Spring的ClassPathXmlApplicationContext的参数:
<create creator="spring" javascript="Fred">
<param name="beanName" value="userBO" />
<param name="location" value="beans.xml"/>
</create>
注意:其中beans.xml默认是读/WEB-INF/classes里的
3) 使用DWR API里的SpringCreator类中的setOverrideBeanFactory方法来定义beans.xml的位置
3. 在WEB-INF下添加dwr.xml配置文件,用来配置所需要暴露在前端页面的业务逻辑类。
<allow>
<convert converter="bean" match="cn.qdqn.ssh.bo.UserBO" />
<create creator="spring" javascript="userBO">
<param name="beanName" value="userBO" />
</create>
</allow>
4. 在前端页面中使用DWR
<script type='text/javascript' src='/SSH/dwr/engine.js'></script>
<script type='text/javascript' src='/SSH/dwr/util.js'></script>
<script type='text/javascript' src='/SSH/dwr/interface/userBO.js'></script>
<script type="text/javascript" language="javascript">
function checkUserName(){
var userName=document.getElementsByName("name")[0].value;
userBO.isNotExists(userName,callback);
function callback(isNotExist){
if(isNotExist){
alert("可以使用");
}else{
alert("该用户已经被注册!");
}
}
}
</script>
…………
<html:button property="check" value="Check"onclick="checkUserName()"/>
JDK 1.5
Tomcat 6.0
Spring 2.5
Struts 1.3
Hibernate 3.2
DWR 2.0
MyEclipse 6.5
SQL Server 2005
本系列文章PDF格式及示例源代码请到[/b]此处下载。
Spring与DWR整合的价值在于DWR使用的BO全部交给Spring管理,从而充分利用Spring强大的IoC和AOP特性。
1. 添加dwr.jar到WEB-INF/lib下,并在web.xml中添加对DWR的加载代码
<servlet>
<servlet-name>dwr-invoker</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-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
2. 在DWR中加载Spring配置文件,有三种方式:
1) 【最佳方案】使用org.springframework.web.context.ContextLoaderListener,在WEB-INF/web.xml 中做如下配置:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
2) 在dwr.xml中指定使用哪些bean,你可以使用location*参数。你可以指定任意多个文件,只要参数以location开始并且唯一即可。例 如:location-1, location-2。这些location被用做Spring的ClassPathXmlApplicationContext的参数:
<create creator="spring" javascript="Fred">
<param name="beanName" value="userBO" />
<param name="location" value="beans.xml"/>
</create>
注意:其中beans.xml默认是读/WEB-INF/classes里的
3) 使用DWR API里的SpringCreator类中的setOverrideBeanFactory方法来定义beans.xml的位置
3. 在WEB-INF下添加dwr.xml配置文件,用来配置所需要暴露在前端页面的业务逻辑类。
<allow>
<convert converter="bean" match="cn.qdqn.ssh.bo.UserBO" />
<create creator="spring" javascript="userBO">
<param name="beanName" value="userBO" />
</create>
</allow>
4. 在前端页面中使用DWR
<script type='text/javascript' src='/SSH/dwr/engine.js'></script>
<script type='text/javascript' src='/SSH/dwr/util.js'></script>
<script type='text/javascript' src='/SSH/dwr/interface/userBO.js'></script>
<script type="text/javascript" language="javascript">
function checkUserName(){
var userName=document.getElementsByName("name")[0].value;
userBO.isNotExists(userName,callback);
function callback(isNotExist){
if(isNotExist){
alert("可以使用");
}else{
alert("该用户已经被注册!");
}
}
}
</script>
…………
<html:button property="check" value="Check"onclick="checkUserName()"/>
相关文章推荐
- 使用MyEclipse集成SSH和DWR(一)整合Spring和Struts
- 使用MyEclipse集成SSH和DWR(二)整合Spring和Hibernate
- 使用MyEclipse集成SSH整合Spring和Hibernate
- SSH整合之使用spring-DWR实现动态综合查询数据
- 使用MyEclipse整合ssh(Struts、Spring、Hibernate)三大框架(环境搭载+实例源码下载)
- 使用MyEclipse整合ssh(Struts、Spring、Hibernate)三大框架(环境搭载+实例源码下载)
- 使用MyEclipse整合ssh(Struts、Spring、Hibernate)三大框架(环境搭载+实例源码下载)
- 『转』整合SSH和DWR(3)spring+DWR
- [故障及解决]使用spring集成的ssh,报错No Session found for current thread
- DWR高级主题之DWR与spring集成(不使用springMVC,不使用注解的实例)
- MyEclipse整合SSH(Struts+Spring+Hibernate)简单登录范例(一)
- DWR使用小结1——SSH整合DWR
- 使用MyEclipse快速整合SSH常常遇到的错误
- Spring使用与ssh整合
- 使用MyEclipse整合Struts+Spring+Hibernate时,在“applicationContext.xml”中提示class"org.apache.commons.dbcp.Basi
- 使用maven与MyEclipse整合ssm(Spring MVC、Spring、Mybatis)三大框架并实现用户注册(环境搭载+实例源码下载)
- DWR高级主题之DWR与spring集成(使用springMVC,非注解的实例)
- MyEclipse整合SSH(Struts+Spring+Hibernate)简单登录范例(一)
- 集成ssh时,MyEclipse8.5无法添加spring 2.0 orm/dao/hibernate3 libraries
- SpringBoot系列十一:SpringBoot整合Restful架构(使用 RestTemplate 模版实现 Rest 服务调用、Swagger 集成、动态修改日志级别)