1.前言

DWR提供了一个spring的创建器,一旦使用spring创建器,DWR将负责搜索Web应用中的Spring容器,并将Springp容器中的Bean转换成一个浏览器中JavaScript可调用的对象。

2.创建Java类

下面我们创建一个简单的服务器处理类,该服务器处理将被配置在Spring容器中。

package com.owen.dwr.dwr;/***服务器处理类* @author owenwilliam 2016-5-8* @version 1.0*/public class HelloSpring
{// 服务器处理方法public String hello(String name){return name + "您好,您已经会调用Spring中的Bean了...";}
}

3.配置Spring文件

将上面定义的类部署在Spring容器中。

<?xml version="1.0" encoding="GBK"?>
<!-- 指定Spring配置文件的Schema信息 -->
<beans xmlns="http://www.springframework.org/schema/beans"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-3.1.xsd"><!-- 定义一个bean --><bean id="hello" class="com.owen.dwr.HelloSpring" />
</beans>

4.配置web.xml文件

<?xml version="1.0" encoding="GBK"?>
<web-app 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/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><!-- 配置DWR的核心Servlet --><servlet><!-- 指定DWR核心Servlet的名字 --><servlet-name>dwr-invoker</servlet-name><!-- 指定DWR核心Servlet的实现类 --><servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class><!--  指定DWR核心Servlet处于调试状态 --><init-param><param-name>debug</param-name><param-value>true</param-value></init-param></servlet><!-- 指定核心Servlet的URL映射 --><servlet-mapping><servlet-name>dwr-invoker</servlet-name><!-- 指定核心Servlet映射的URL --><url-pattern>/leedwr/*</url-pattern></servlet-mapping>
</web-app>

5.配置dwr.xml文件

<?xml version="1.0" encoding="GBK"?>
<!-- 指定DWR配置文件的DTD等信息 -->
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN""http://getahead.org/dwr/dwr30.dtd">
<dwr><allow><create creator="spring" javascript="hello"><!-- 指定使用Spring容器中的hello Bean --><param name="beanName" value="hello"/> </create></allow>
</dwr>

6.创建hellodwr.js文件

function sendMessage()
{// 调用远程的hello方法,使用了dwr.util的getValue方法获取HTML元素的值hello.hello(dwr.util.getValue('name') , cb);
}
// 回调方法
function cb(data)
{// 使用dwr.util的setValue方法设置HTML元素的值dwr.util.setValue('show' ,data);
}

7.客户端调用

接下来我们就写个index.html文件来调用。

<!DOCTYPE html>
<html>
<head><meta name="author" content="OwenWilliam" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title> DWR整合Spring </title>
</head>
<body>
<script type='text/javascript' src='./leedwr/engine.js'></script>
<script type='text/javascript' src='./leedwr/util.js'></script>
<script type='text/javascript' src='./leedwr/interface/hello.js'></script>
<script type="text/javascript" src="hellodwr.js"></script>
<h3> DWR整合Spring </h3>
请输入您的名字<input id="name" name="name" type="text"/><br />
<input type="button" value="调用Spring Bean" οnclick="sendMessage();"/>
下面是服务器的回应:
<hr>
<div id="show"></div>
</body>
</html>

8.执行结果

DWR整合Spring相关推荐

  1. spring boot整合spring security笔记

    最近自己做了一个小项目,正在进行springboot和spring Security的整合,有一丢丢的感悟,在这里分享一下: 首先,spring boot整合spring security最好是使用T ...

  2. Echache整合Spring缓存实例讲解

    2019独角兽企业重金招聘Python工程师标准>>> 摘要:本文主要介绍了EhCache,并通过整合Spring给出了一个使用实例. 一.EhCache 介绍 EhCache 是一 ...

  3. 八、springboot整合Spring Security

    springboot整合Spring Security 简介 Spring Security是一个功能强大且可高度自定义的身份验证和访问控制框架.它是保护基于Spring的应用程序的事实标准. Spr ...

  4. Activiti工作流从入门到入土:整合spring

    文章源码托管:https://github.com/OUYANGSIHAI/Activiti-learninig 欢迎 star !!! 一.前言 在上一节中,通过一个入门程序,把activiti的环 ...

  5. springboot2 war页面放在那_Spring Boot2 系列教程(三十三)整合 Spring Security

    Spring Security 是 Spring 家族中的一个安全管理框架,实际上,在 Spring Boot 出现之前,Spring Security 就已经发展了多年了,但是使用的并不多,安全管理 ...

  6. springboot templates读取不到_整合spring mvc + mybatis,其实很简单,spring boot实践(5)

    01 spring boot读取配置信息 02 多环境配置 03 处理全局异常 04 spring boot admin 主要通过spring boot整合spring mvc 以及mybatis实现 ...

  7. springboot整合hibernate_峰哥说技术系列-17 .Spring Boot 整合 Spring Data JPA

    今日份主题 Spring Boot 整合 Spring Data JPA JPA(Java Persistence API)是用于对象持久化的 API,是Java EE 5.0 平台标准的 ORM 规 ...

  8. ActiveMQ整合spring

    主要讲解点: 使用ActiveMQ完成发短信功能(重点) 2.Kindeditor上传图片及图片管理器功能的实现(对应后台代码是重点, Kindeditor参照demo会用就行) 宣传活动的保存功能( ...

  9. CXF WebService整合Spring

    CXF WebService整合Spring 首先,CXF和spring整合需要准备如下jar包文件: 这边我是用Spring的jar包是Spring官方提供的,并没有使用CXF中的Spring的ja ...

  10. cxf整合spring错误为:cvc-complex-type.2.4.c

    cxf整合spring,报错信息如下: Multiple annotations found at this line: - cvc-complex-type.2.4.c: The matching ...

最新文章

  1. 百度地图-矩形编辑的模拟实现
  2. Azkaban使用简单笔记
  3. javascript删除数组,索引出现问题解决办法。
  4. 《四世同堂》金句摘抄(十五)
  5. Java中获取当前函数名
  6. java脏字过滤_脏字过滤
  7. 【摘录】Android2.3所支持语言的列表
  8. CentOS7设置中文字符集
  9. float和position
  10. 24解析函数的级数表示(三)
  11. 图像局部特征(十二)--BRISK特征
  12. 点到圆弧的距离(csu1503)+几何
  13. 超好用epub阅读器分享
  14. Python画新冠肺炎国内和世界各国累计确诊数量热图!某国破百万了
  15. ITK实现DICM图像转换成BMP图像
  16. hg8245设置无线打印服务器,小编教您设置华为HG8245光纤猫路由器
  17. DSP6678的多核启动
  18. PHP支付接口对接curl Post方式提交详解
  19. ( 教程 ) 微信公众号做淘宝优惠券自动查券返利机器人怎么设置?
  20. Portable Batch System

热门文章

  1. NYOJ 题目94 cigarettes
  2. 【练习8.7】cvGoodFeaturesToTrack确定图像强角点、cvFindCornerSubPix亚像素级角点检测...
  3. Spark Standalone模式伪分布式环境搭建
  4. matlab钢材切割,一种基于MATLAB的钢材裂纹扩展速率试验数据处理方法
  5. LVS详解(四)——LVS安装与配置命令
  6. 服务器利用docker搭建CTFd平台、webug靶场,并映射到公网IP
  7. 【Spark篇】---SparkStreaming算子操作transform和updateStateByKey
  8. 《树莓派Python编程入门与实战(第2版)》——1.9 QA
  9. Python3.4下使用sqlalchemy
  10. mysql单表大小限制