`
忆梦竹
  • 浏览: 65718 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

简化ajax的使用之DWR学习——与spring的整合

阅读更多
Spring与DWR的整合参考:
http://directwebremoting.org/dwr/documentation/server/integration/spring.html#namespace

学习了DWR之后,感觉倍好用,就继续看了与spring的整合。这个跟之前的一篇http://yimengzhu.iteye.com/blog/1883179有一些关联,但是我还是重新创建了web 项目:

第一: 利用myeclipse创建web项目,并具有如下创建类DwrService,如下结构所示:


DwrService.java的源码如下:
package org.piedra.dwr;

public class DwrService {
	
	public DwrService(){
		System.out.println("DwrService was inited.");
	}

	public String getService(int type){
		String serviceName = "";
		switch(type){
		case 1:
			serviceName = "springService";
			break;
		case 2:
			serviceName = "dwr&springService";
			break;
			default:
				serviceName = "dwrService";
				break;
		}
		return serviceName;
	}
}


好吧,我们的服务已经创建完成了。这下需要引入我们spring和dwr所需要的jar包,你自己导着,看缺少哪几个jar包就加入。当然,如果你的项目已经集成了spring,那是最好不过的了。
jar包引入完成后,我们来配置web.xml。在web.xml中我们需要配置spring配置文件的位置,监听器。

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
	<display-name></display-name>
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
	
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/applicationContext.xml</param-value>
	</context-param>

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

好吧,根据我们web.xml的配置,我们要在WEB-INF目录下创建applicationContext.xml。我配置好了,如下:
<?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"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-2.5.xsd">

	<bean id="dwrService" class="org.piedra.dwr.DwrService">
	</bean>
</beans>


至此我们的spring已经配置完成了。
接下来是配置dwr了。关于DWR的配置我们在之前的那篇博客已经有介绍过了http://yimengzhu.iteye.com/blog/1883179,但是根据DWR官方文档的建议,我们与Spring集成的时候强烈不推荐使用dwr.xml配置文件。而是在spring配置文件中直接配置我们的远程调用接口。要在spring的配置文件中配置dwr首先需要加入dwr的名称空间:

xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"

http://www.directwebremoting.org/schema/spring-dwr http://www.directwebremoting.org/schema/spring-dwr-3.0.xsd

然后还需要配置我们需要暴露出去的接口,根据我们的例子,我们需要将我们的DwrService暴露给浏览器的javascript直接访问,那么,我么在bean节点下面创建使用子节点<dwr:remote>其中 javascript指定我们在浏览器需要使用的对象名称。
结果,spring的配置文件编程下面这样:

<?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"
	[color=red]xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"[/color]
	xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
           http://www.springframework.org/schema/context
           http://www.springframework.org/schema/context/spring-context-2.5.xsd
           [color=red]http://www.directwebremoting.org/schema/spring-dwr
    	   http://www.directwebremoting.org/schema/spring-dwr-3.0.xsd[/color]">

	<bean id="dwrService" class="org.piedra.dwr.DwrService">
		 <dwr:remote javascript="springDwrService">
  		 </dwr:remote>
	</bean>
</beans>

配置到这里,我们已经将dwr跟spring整合到一起了,但是我们要使得我们的javascript能够使用这个对象还需要在web.xml配置dwr的servlet。这个配置跟之前那篇配置基本一样,只不过换了servlet的实现类。从org.directwebremoting.servlet.DwrServlet换成了org.directwebremoting.spring.DwrSpringServlet
在web.xml配置玩dwr之后,web.xml配置文件变成了:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
	<display-name></display-name>
	<welcome-file-list>
		<welcome-file>index.jsp</welcome-file>
	</welcome-file-list>
	
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>/WEB-INF/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>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>


到此为止我们的配置已然全部结束了。好吧,就来验证下是否成功集成dwr和spring
在浏览器中输入: http://localhost:8080/dwrSpring/dwr  有如下效果:



然后我们点击springDwrService进入另一个详细页面。



看到上图页面也就代表我们的服务能够成功的在javascript中调用了。具体的调用方法还是跟上一篇博客http://yimengzhu.iteye.com/blog/1883179的index.jsp页面中的调用方式一样。

继续学习中、、、

谢谢阅读!

  • 大小: 7.7 KB
  • 大小: 20.9 KB
  • 大小: 7.4 KB
2
3
分享到:
评论

相关推荐

    DWR与SPRING 集成

    标题 "DWR与SPRING 集成" 涉及到的是两个在Web开发中常用的开源框架——Direct Web Remoting (DWR) 和 Spring。DWR允许在浏览器和服务器之间进行实时、异步的数据交换,而Spring是Java企业级应用的全面解决方案,...

    dwr笔记二之经典用法之和spring结合+验证用户是否存在

    根据提供的标题、描述、标签及部分内容,我们可以了解到这篇文章主要讲述的是如何将Direct Web Remoting (DWR)框架与Spring框架进行整合,并实现一个简单的功能——验证用户是否已存在。接下来,我们将深入探讨这一...

    maven与spring MVC

    【标题】"maven与spring MVC"涉及到的是Java Web开发中的两个关键组件——Maven和Spring MVC,它们在构建和管理复杂项目时起着至关重要的作用。Maven是一个项目管理和综合工具,它通过提供一个标准化的构建过程和...

    SSH+DWR框架整合

    SSH+DWR框架整合是将三个主流的Java开发框架——Struts、Spring和Hibernate——与Direct Web Remoting (DWR)框架结合使用,以实现更高效的Web应用程序开发。下面将详细解释每个框架的作用以及整合过程中涉及的关键...

    springMVC+hibernate+dwr+smartClient

    **SpringMVC、Hibernate、DWR与SmartClient的整合应用** SpringMVC是Spring框架的一部分,主要用于构建Web应用程序的模型-视图-控制器(MVC)结构。它提供了灵活的控制器,支持多种视图技术,并允许开发者以声明式...

    Practical DWR 2 Projects(2008.1).pdf

    书中首先介绍了DWR的基本概念,包括其核心功能——反向Ajax,这使得浏览器能够发起服务器请求,而不仅仅是响应服务器的调用。DWR的XML和注解配置方式使得设置变得简单,同时支持容器管理的安全性,允许开发者使用...

    学生成绩管理系统struts2+spring+hiernate+dwr+jquery UI

    Hibernate作为持久层框架,简化了数据库操作,它通过ORM(对象关系映射)将Java对象与数据库表对应,使得开发者可以使用面向对象的方式处理数据库事务。Hibernate支持HQL(Hibernate查询语言)和 Criteria 查询,...

    易拍网上拍卖系统(SSH整合)---功能完整

    《易拍网上拍卖系统——SSH整合与Web技术详解》 在IT行业中,构建高效、稳定的网络应用程序是一项重要的任务。易拍网上拍卖系统以其全面的功能和先进的技术架构,展现了现代Web开发的强大魅力。该系统的核心是SSH...

    人力资源JAVA项目描述.doc

    租房管理系统同样遵循MVC架构,使用Struts、Spring、Hibernate和DWR框架。JSP作为显示层,Action处理控制,Service和DAO层处理业务逻辑。DTO和POJO用于数据传输。Spring的IoC技术负责组件间的依赖注入,JavaScript...

Global site tag (gtag.js) - Google Analytics