DWR整合Spring
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相关推荐
- spring boot整合spring security笔记
最近自己做了一个小项目,正在进行springboot和spring Security的整合,有一丢丢的感悟,在这里分享一下: 首先,spring boot整合spring security最好是使用T ...
- Echache整合Spring缓存实例讲解
2019独角兽企业重金招聘Python工程师标准>>> 摘要:本文主要介绍了EhCache,并通过整合Spring给出了一个使用实例. 一.EhCache 介绍 EhCache 是一 ...
- 八、springboot整合Spring Security
springboot整合Spring Security 简介 Spring Security是一个功能强大且可高度自定义的身份验证和访问控制框架.它是保护基于Spring的应用程序的事实标准. Spr ...
- Activiti工作流从入门到入土:整合spring
文章源码托管:https://github.com/OUYANGSIHAI/Activiti-learninig 欢迎 star !!! 一.前言 在上一节中,通过一个入门程序,把activiti的环 ...
- springboot2 war页面放在那_Spring Boot2 系列教程(三十三)整合 Spring Security
Spring Security 是 Spring 家族中的一个安全管理框架,实际上,在 Spring Boot 出现之前,Spring Security 就已经发展了多年了,但是使用的并不多,安全管理 ...
- springboot templates读取不到_整合spring mvc + mybatis,其实很简单,spring boot实践(5)
01 spring boot读取配置信息 02 多环境配置 03 处理全局异常 04 spring boot admin 主要通过spring boot整合spring mvc 以及mybatis实现 ...
- springboot整合hibernate_峰哥说技术系列-17 .Spring Boot 整合 Spring Data JPA
今日份主题 Spring Boot 整合 Spring Data JPA JPA(Java Persistence API)是用于对象持久化的 API,是Java EE 5.0 平台标准的 ORM 规 ...
- ActiveMQ整合spring
主要讲解点: 使用ActiveMQ完成发短信功能(重点) 2.Kindeditor上传图片及图片管理器功能的实现(对应后台代码是重点, Kindeditor参照demo会用就行) 宣传活动的保存功能( ...
- CXF WebService整合Spring
CXF WebService整合Spring 首先,CXF和spring整合需要准备如下jar包文件: 这边我是用Spring的jar包是Spring官方提供的,并没有使用CXF中的Spring的ja ...
- cxf整合spring错误为:cvc-complex-type.2.4.c
cxf整合spring,报错信息如下: Multiple annotations found at this line: - cvc-complex-type.2.4.c: The matching ...
最新文章
- 百度地图-矩形编辑的模拟实现
- Azkaban使用简单笔记
- javascript删除数组,索引出现问题解决办法。
- 《四世同堂》金句摘抄(十五)
- Java中获取当前函数名
- java脏字过滤_脏字过滤
- 【摘录】Android2.3所支持语言的列表
- CentOS7设置中文字符集
- float和position
- 24解析函数的级数表示(三)
- 图像局部特征(十二)--BRISK特征
- 点到圆弧的距离(csu1503)+几何
- 超好用epub阅读器分享
- Python画新冠肺炎国内和世界各国累计确诊数量热图!某国破百万了
- ITK实现DICM图像转换成BMP图像
- hg8245设置无线打印服务器,小编教您设置华为HG8245光纤猫路由器
- DSP6678的多核启动
- PHP支付接口对接curl Post方式提交详解
- ( 教程 ) 微信公众号做淘宝优惠券自动查券返利机器人怎么设置?
- Portable Batch System
热门文章
- NYOJ 题目94 cigarettes
- 【练习8.7】cvGoodFeaturesToTrack确定图像强角点、cvFindCornerSubPix亚像素级角点检测...
- Spark Standalone模式伪分布式环境搭建
- matlab钢材切割,一种基于MATLAB的钢材裂纹扩展速率试验数据处理方法
- LVS详解(四)——LVS安装与配置命令
- 服务器利用docker搭建CTFd平台、webug靶场,并映射到公网IP
- 【Spark篇】---SparkStreaming算子操作transform和updateStateByKey
- 《树莓派Python编程入门与实战(第2版)》——1.9 QA
- Python3.4下使用sqlalchemy
- mysql单表大小限制