`
log_cd
  • 浏览: 1098640 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

关于dwr2与spring2集成

阅读更多
一、uk.ltd.getahead.dwr.DWRServlet,使用dwr.xml文件
(1)、web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
         xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" >

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            classpath:applicationContext.xml
        </param-value>
    </context-param>

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <servlet>
        <servlet-name>dwr</servlet-name>
        <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
	    <init-param>
	      <param-name>config-admin</param-name>
	      <param-value>WEB-INF/classes/dwr.xml</param-value>
	    </init-param>
        <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>

</web-app>

(2)、applicationContext.xml文件
<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd"
       default-autowire="byName">

	<bean id="dataSource"
		class="org.apache.commons.dbcp.BasicDataSource"
		destroy-method="close">
		<property name="driverClassName"
			value="com.mysql.jdbc.Driver" />
		<property name="url"
			value="jdbc:mysql://localhost:3306/springapp" />
		<property name="username" value="root" />
		<property name="password" value="root" />
	</bean>	

	<bean id = "transactionManager"    
         class = "org.springframework.jdbc.datasource.DataSourceTransactionManager">    
         <property name = "dataSource" ref="dataSource"/>    
    </bean>   

	<bean id = "jdbcTemplate"    
         class = "org.springframework.jdbc.core.JdbcTemplate">    
         <property name = "dataSource" ref="dataSource"/>    
    </bean>   
	
	<bean id="baseTransactionProxy" lazy-init="true" abstract="true"
		class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
		<property name="transactionManager" ref="transactionManager" />
		<property name="transactionAttributes">
			<props>
	            <prop key="delete*">PROPAGATION_REQUIRED,-Exception</prop>   
	            <prop key="update*">PROPAGATION_REQUIRED,-Exception</prop>      
	            <prop key="save*">PROPAGATION_REQUIRED,-Exception</prop>      
				<prop key="is*">PROPAGATION_REQUIRED,readOnly</prop>
	            <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
	    	</props>
		</property>
	</bean>   	

   	<bean id="userService" parent="baseTransactionProxy">
		<property name="target">
			<bean class="com.logcd.service.impl.UserService"/>
		</property>
	</bean>

</beans>

(3)、dwr.xml文件
<?xml version="1.0" encoding="UTF-8"?>    
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" 
	"http://getahead.org/dwr//dwr20.dtd">

<dwr>    
	<allow>    
		
		<create creator="spring" javascript="dwrUser" scope="application">    
			<param name="beanName" value="userService"/>
			<include method="findUserCount"/>
		</create>
		
	</allow>    
</dwr> 

(4)、接口和实现
public interface IUserService {

    public int findUserCount();
	
}

import org.springframework.jdbc.core.JdbcTemplate;
import com.logcd.service.IUserService;

public class UserService implements IUserService{

	private JdbcTemplate jdbcTemplate;

	public JdbcTemplate getJdbcTemplate() {
		return jdbcTemplate;
	}

	public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
		this.jdbcTemplate = jdbcTemplate;
	}
	
	
	public int findUserCount(){
		
		return getJdbcTemplate().queryForInt(" SELECT COUNT(*) FROM LOG_USER ");
		
	}
	
}

(5)、测试页面
<%@ page language="java" contentType="text/html; charset=UTF-8"  
  pageEncoding="UTF-8"%>   
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">   
<html>   
<head>   
<title>DWR Test</title>
<script type='text/javascript' src='dwr/interface/dwrUser.js'></script>
<script type='text/javascript' src='dwr/engine.js'></script>   
<script type='text/javascript' src='dwr/util.js'></script>   
<script language="javascript">

   function showTotal(){
	dwrUser.findUserCount(function(data){
	    DWRUtil.setValue("userCnt",data); 
	});
   }

    function clearInput(){   
        userCnt.value="";   
    }      
    
</script>    
</head>    
<body>   
    <input type="button" value="显示总人数" onclick="showTotal();">
    <input type="button" value="清空" onclick="clearInput()"><br>            
    <input type="text" id="userCnt"><br>       
</body>    
</html> 

二、org.directwebremoting.spring.DwrSpringServlet,去掉dwr.xml
(1)web.xml
<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.4"
         xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" >

    ......

    <servlet>
        <servlet-name>dwr</servlet-name>
        <servlet-class>org.directwebremoting.spring.DwrSpringServlet</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>

</web-app>

(2)applicationContext.xml。要在名称空间中增加xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
       http://www.directwebremoting.org/schema/spring-dwr http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd"
       default-autowire="byName">

    ......    
   
    <bean id="userService" parent="baseTransactionProxy">
	<property name="target">
		<bean class="com.logcd.service.impl.UserService"/>
	</property>
    </bean>


    <bean id="dwrUser" class="com.logcd.ajax.DWRUser">
        <dwr:remote javascript="dwrUser">
        	<dwr:include method ="findUserCount"/>
        </dwr:remote>
    </bean>

</beans>

(3)、注入Service的Java Bean。
import com.logcd.service.IUserService;

public class DWRUser {

    private IUserService userService;

    public IUserService getUserService() {
	return userService;
    }

    public void setUserService(IUserService userService) {
	this.userService = userService;
    }
	
    public int findUserCount(){
    	return this.getUserService().findUserCount();
    }
	
}

    测试页面与前面的index.jsp相同。
疑问:
    如果不写dwr.xml文件,要写一个AJAX操作类(如上面的DWRUser)。这样还没有直接用dwr.xml方便!初次接触,不大了解这玩意儿。要是可以直接下面这样写就好了。
<bean id="userService" parent="baseTransactionProxy">
    <property name="target">
        <bean class="com.logcd.service.impl.UserService"/>
    </property>
    <dwr:remote javascript="dwrUserService"/>
</bean>
分享到:
评论

相关推荐

    DWR示例与spring集成

    - **Spring集成示例**:说明如何配置DWR与Spring的集成,以及如何在JavaScript中调用Spring的Bean。 通过理解并实践这些示例,开发者可以更好地掌握DWR的使用,并将其应用于实际的Web应用中,实现高效、便捷的前后...

    DWR与SPRING 集成

    博文链接提供的 `https://json20080301.iteye.com/blog/1892385` 可能是一个关于DWR与Spring集成的教程或经验分享,可以进一步深入学习。 总之,DWR与Spring的集成是提升Web应用交互体验的有效手段,通过合理的...

    dwr与spring集成的方式

    ### dwr与spring集成的方式 #### 一、引言 DWR(Direct Web Remoting)是一种简化Ajax开发的Java框架,允许在客户端直接调用服务器端的Java方法,从而简化了传统的JavaScript编程复杂度。Spring作为一款流行的企业...

    DWR与SPRING,DWR与STRUTS2的整合

    1. **配置DWR Spring集成**:在Spring配置文件中定义DWR相关的bean,如`DWRConfig`和`SpringContextUtil`,以便让DWR能够访问Spring的bean。 2. **Spring托管的Java类暴露给JavaScript**:通过Spring的`@Service`或...

    Spring与DWR集成

    **Spring与DWR集成** Spring框架是Java领域中极为重要的轻量级应用框架,它提供了丰富的功能,包括依赖注入、AOP(面向切面编程)、事务管理等,用于简化企业级应用开发。Direct Web Remoting (DWR) 是一个开源...

    将dwr集成到spring mvc(dwr的配置是基于xml)

    在Spring MVC框架中集成DWR,可以进一步提升用户体验,因为Spring MVC专注于处理控制器逻辑,而DWR则负责客户端与服务器之间的通信。 集成DWR到Spring MVC的过程主要包括以下几个步骤: 1. **引入依赖**:首先,你...

    dwr+spring集成配置

    将DWR与Spring集成,可以充分利用Spring的管理能力,简化DWR的配置和增强应用的可维护性。 ### 集成步骤 1. **引入依赖** 在项目的`pom.xml`文件中添加DWR和Spring的依赖。确保版本兼容,通常选择最新稳定版本。 ...

    dwr与spring整合

    通过上述步骤,我们可以实现DWR与Spring的无缝集成,使得前端能够便捷地调用后端的业务逻辑,提高应用的交互性和响应速度。同时,Spring的管理功能可以帮助我们更好地组织和维护代码,提升项目的可维护性。

    spring+dwr.rar_dwr_dwr SPRING_spring dwr

    在IT领域,Spring框架和Direct Web Remoting (DWR)是两种重要的技术,它们在构建分布式Web应用程序中发挥着关键作用。本篇文章将详细讲解如何利用Spring与DWR结合,实现一个基本的功能:判断用户名是否已经存在于...

    Spring 2中整合DWR 2

    #### 三、DWR 2的Spring集成步骤 在了解了Spring 2的基本配置之后,接下来我们将详细介绍如何在Spring 2中集成DWR 2。 1. **添加DWR依赖**:首先,确保项目中包含了DWR的依赖库。通常可以通过Maven或Gradle来添加...

    dwr+spring实例

    2. **Spring集成**: 要将DWR与Spring整合,我们通常会使用Spring的`DwrController`或者自定义一个Spring MVC控制器来处理DWR请求。此外,我们还需要在Spring的配置文件中声明DWR的相关bean,如`DwrConfig`,并将其...

    DWR2.0 整合Spring2.0

    DWR2.0可以与Spring MVC无缝集成,通过Spring的DispatcherServlet处理DWR请求,实现前后端的交互。 6. **单元测试**:Spring框架提供了强大的单元测试支持,包括模拟对象(Mock Objects)和测试工具。整合DWR后,...

    dwr与spring数据库环境集成

    通过以上介绍,我们可以看到"Dwr与spring集成,spring jdbc 数据库集成,spring注入例子"是如何将DWR的实时交互能力与Spring的数据库访问和依赖注入功能结合在一起,形成一个高效、易维护的Web应用开发模式。...

    Spring与DWR集成教程

    在本文中,我们将深入探讨Spring与DWR集成的原理、配置过程以及实际应用。 首先,DWR是一个Java EE框架,它使得JavaScript能够与服务器进行异步交互,仿佛在本地执行函数一样。DWR的核心机制是通过Servlet监听特定...

    使用dwr+spring实现消息推送

    将DWR与Spring结合,可以创建出高效且易于维护的消息推送系统。首先,我们需要在Spring配置中声明DWR的相关bean,包括`DWRConfiguration`、`CatalinaReverseAjaxServlet`以及应用中定义的远程服务接口。这些配置通常...

    dwr和spring集成简单例子

    将DWR与Spring集成,可以方便地实现富客户端应用,提高用户体验。 在这个"Dwr和Spring集成简单例子"中,我们将探讨如何将这两个强大的工具结合在一起,以便在Web应用中创建动态、交互性强的用户界面。 首先,我们...

    dwr+springJdbc例子

    总结来说,"dwr+springJdbc例子"展示了如何利用DWR实现实时的前后端交互,Spring提供依赖注入和数据访问抽象,而JDBC则负责与数据库的底层通信。这样的组合使得开发高效、灵活且易于维护的Web应用成为可能。理解并...

    dwr+spring 注解方式

    下面将详细介绍如何通过注解实现DWR和Spring的集成以及相关知识点: 1. **Spring注解配置**: - `@Configuration`:标记一个类为Spring配置类,可替代传统的XML配置。 - `@ComponentScan`:用于扫描指定包下的...

Global site tag (gtag.js) - Google Analytics