文档章节

dwr.xml配置详解

白志华
 白志华
发布于 2015/10/18 10:55
字数 809
阅读 2
收藏 0
点赞 0
评论 0

       感觉dwr很实用,所以想多了解一下。dwr的核心就是这个dwr.xml。在网上收集整理了一些dwr.xml的配置信息。现拿出来与大家分享。


       dwr.xml的大体结构如下:

<!DOCTYPE dwr PUBLIC
    "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN"
    "http://www.getahead.ltd.uk/dwr/dwr20.dtd">
//整个配置文件的大体结构如下:
<dwr>
  <init>
    <creator id="..." class="..."/>
    <converter id="..." class="..."/>
  </init>
  <allow>
    <create creator="..." javascript="..." scope="...">
      <param name="..." value="..."/>
    </create>
    <convert convertor="..." match="..."/>
  </allow>
  <signatures>
    ...
  </signatures>

       <init> 部分声明那些用于建立远程bean和在方法调用中转换bean的类.这部分是可选择性配置的,如果你想定义一个新的creator(创造器)或者converter(转换器),那么就必须在部分中声明,每个creator和converter需要有个id属性来允许以后进行引用。

       <allow> 部分定义了DWR能够创建和转换的类,以供 javascript 访问。

       <create> 标签中指定 javascript 中可以访问的 java 类,并定义 dwr 应当如何获得要进行远程的类的实例。

其中 javascript=" testClass " 属性指定 javascript 代码访问对象时使用的名称。

creator是类构造器,creator="new" 属性指定 java 类实例的生成方式, new 意味着 DWR 应当调用类的默认构造函数来获得实例,其他的还有 spring 方式,通过与 IOC 容器 Spring 进行集成来获得实例等等。 

       默认情况下DWR1.1有8种创造器。它们是:

    • new: 用Java的new关键字创造对象。
    • none: 它不创建对象。 (v1.1+)
    • scripted: 通过BSF使用脚本语言创建对象,例如BeanShell或Groovy。
    • spring: 通过Spring框架访问Bean。
    • jsf: 使用JSF的Bean。 (v1.1+)
    • struts: 使用Struts的FormBean。 (v1.1+)
    • pageflow: 访问Beehive或Weblogic的PageFlow。 (v1.1+)
       还有一个属性为scope默认为page ,其值还有application、session、request、script。
       <creator>下的配置节点:

<param> 标签指定要公开给 javascript 的 java 类名。

<include> 标签指定要公开给 javascript 的方法。不指定的话就公开所有方法

<exclude> 标签指定要防止被访问的方法。

<auth> 标签指定一个J2EE角色作为访问控制检查。


       <convert> 标签由于dwr只支持json的数据格式,因此在dwr中我们要读取javaBean中的属性,就必须将其转换成json的数据格式,这需要配置convert进行转换。

       DWR已经默认定义和初始化了常用的Converter,他们分别如下: 

<converter id="null"
    class="uk.ltd.getahead.dwr.convert.NullConverter"/>
<converter id="primitive"
    class="uk.ltd.getahead.dwr.convert.PrimitiveConverter"/>
<converter id="bignumber"
    class="uk.ltd.getahead.dwr.convert.BigNumberConverter"/>
<converter id="string"
    class="uk.ltd.getahead.dwr.convert.StringConverter"/>
<converter id="date"
    class="uk.ltd.getahead.dwr.convert.DateConverter"/>
<converter id="array"
    class="uk.ltd.getahead.dwr.convert.ArrayConverter"/>
<converter id="map"
    class="uk.ltd.getahead.dwr.convert.MapConverter"/>
<converter id="collection"
    class="uk.ltd.getahead.dwr.convert.CollectionConverter"/>
<converter id="bean"
    class="uk.ltd.getahead.dwr.convert.BeanConverter"/>
<converter id="hibernate"
    class="uk.ltd.getahead.dwr.convert.HibernateBeanConverter"/>
<converter id="dom"
    class="uk.ltd.getahead.dwr.convert.DOMConverter"/>
<converter id="dom4j"
    class="uk.ltd.getahead.dwr.convert.DOM4JConverter"/>
<converter id="jdom"
    class="uk.ltd.getahead.dwr.convert.JDOMConverter"/>
<converter id="xom"
    class="uk.ltd.getahead.dwr.convert.XOMConverter"/>
<converter id="servlet" class="uk.ltd.getahead.dwr.convert.ServletConverter"/>
       在convert中,还可以设定param进行授权访问控制,例如:

<convert converter="bean" match="com.tgb.DwrTest"/>
  <param name="include" value="property1, property2"/>
</convert>
       其中include表示只允许value中的属性可以访问,exclude表示除了value中的属性,其他属性均可访问。如果不设定param,则所有属性均可访问。

       参考:

dwr配置文件dwr.xml详解

dwr.xml 配置文件详解

dwr.xml的配置


版权声明:本文为博主原创文章,未经博主允许不得转载。

本文转载自:http://blog.csdn.net/xiaoxian8023/article/details/25064585

共有 人打赏支持
白志华
粉丝 29
博文 265
码字总数 57524
作品 0
长沙
程序员
Java Dwr3实现消息推送步骤详解

1、在工程中引入dwr.jar,之后修改配置web.xml文件,添加配置具体代码如下: <servlet> <servlet-name>dwr-invoker</servlet-name> <servlet-class> org.directwebremoting.servlet.DwrServ......

afreon
2015/05/24
0
2
dwr 环境搭建。

步骤: 导入 dwr.jar 和 commons-logging-1.1.1.jar 包,因为dwr依赖与 commons-logging-1.1.1.jar web.xml 中配置 dwr <servlet> <servlet-name>dwr-invoker</servlet-name> <servlet-clas......

风中海岸
2016/01/27
149
0
DWR Getting Started

DWR Getting Started with DWR 入门一下DWR 第一步还是按照官网的Getting Started...只要5步就跑起来了 两个jar包,web.xml中配置,dwr.xml中配置 ![Getting Started with DWR][1] Demo.java...

豆仔
2012/11/12
0
0
Dwr3.0纯注解(纯Java Code配置)配置与应用浅析一之零配置文件化

//Annotation configuration dwr servletprivate void initializeDwrServlet(ServletContext container) {DwrServlet dwrServlet = new DwrServlet();ServletRegistration.Dynamic dynamic =......

源-代码
2016/04/27
399
1
Ajax框架DWR入门

Direct Web Remoting DWR allows Javascript in a browser to interact with Java on a server and helps you manipulate web pages with the results. DWR is Easy Ajax for Java 官方网站:......

zting科技
2017/01/12
0
0
dwr 使用小结

首先我们搞清楚什么叫dwr,说白了就是javascript远程调用java代码.搞清楚了这个直接上代码,搞一个小例子跑一跑. 第一步: 导入jar包,这个就不多说了; 第二步:配置web.xml, <?xml version="1.0...

drag
2015/11/23
35
0
DWR3.0框架入门(1) —— 实现ajax

框架简介:DWR(Direct Web Remoting) 是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站。它可以允许在浏览器里的代码使用运行在WEB...

_Core
2013/11/25
0
1
Dwr 框架简单实例

Dwr 是一个 Java 开源库,帮助你实现Ajax网站。 它可以让你在浏览器中的Javascript代码调用Web服务器上的Java,就像在Java代码就在浏览器中一样。 Dwr 主要包括两部分: 在服务器上运行的 Se...

zsdnr
2017/07/21
0
0
dwr 3.0 配置 + 不同参数,不同返回值调用方法 示例

配置方法: 1 官网 dwr.jar包 2 web.xml <!-- dwr --> <listener> <listener-class>org.directwebremoting.servlet.DwrListener</listener-class> </listener> <servlet> <servlet-name>dwr......

王庭
2015/10/26
0
0
非常方便之dwr上传文件。

项目结构图 加入所需的 jar 包。 commons-logging-1.1.1.jar dwr.jar 这两个是 dwr 环境所必须的。 commons-fileupload-1.3.1.jar commons-io-2.4.jar 这两个是上次文件所必须的。 web.xml ...

风中海岸
2016/01/27
316
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

MacOS和Linux内核的区别

导读 有些人可能认为MacOS和Linux内核有相似之处,因为它们可以处理类似的命令和类似的软件。甚至有人认为苹果的MacOS是基于linux的。事实上,这两个内核的历史和特性是非常不同的。今天,我...

问题终结者
4分钟前
0
0
SpringBoot | 第八章:统一异常、数据校验处理

前言 在web应用中,请求处理时,出现异常是非常常见的。所以当应用出现各类异常时,进行异常的捕获或者二次处理(比如sql异常正常是不能外抛)是非常必要的,比如在开发对外api服务时,约定了响...

oKong
12分钟前
0
0
mysql高级

一、存储引擎 InnoDB MyISAM 比较 二、数据类型 整型 浮点数 字符串 时间和日期 三、索引 索引分类 索引的优点 索引优化 B-Tree 和 B+Tree 原理 四、查询性能优化 五、切分 垂直切分 水平切分...

丁典
32分钟前
0
0
rsync通过同步服务、系统日志、screen工具

rsync通过后台服务同步 在远程主机中建立一个rsync服务器,在服务器上配置好rsync的各种应用,然后将本机作为rsync的一个客户端连接远程的rsync服务器。 首先在A机器上建立并且配置rsync的配...

黄昏残影
今天
3
0
Spring Cloud Gateway 接口文档聚合实现

在微服务架构下,通常每个微服务都会使用Swagger来管理我们的接口文档,当微服务越来越多,接口查找管理无形中要浪费我们不少时间,毕竟懒是程序员的美德。 由于swagger2暂时不支持webflux 走...

冷冷gg
今天
99
2
流利阅读笔记31-20180720待学习

克罗地亚:输了世界杯,却赢了全世界 雪梨 2018-07-20 1.今日导读 1998 年,年轻的克罗地亚国家队在法国世界杯给全世界留下了不可磨灭的印象,格子军团一举夺得了季军。4 年后,克罗地亚折戟...

aibinxiao
今天
3
0
OSChina 周五乱弹 —— 我们是食物链的最底层

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @温家成 :分享谢安琪的单曲《姿色份子》 《姿色份子》- 谢安琪 手机党少年们想听歌,请使劲儿戳(这里) @贪吃飒:最近p2p怎么了、半个月爆了...

小小编辑
今天
681
12
Android Studio 3.0 之后打包apk出现应用未安装问题

1、废话 出现这个问题的原因,并不是只有一个,而是有多个原因,不懂的估计会被搞得一头雾水,下面我列举的是我遇到的几种问题和网友遇到的几种问题,但不一定是全部,也有可能有些莫名其妙的...

她叫我小渝
今天
0
0
前端基础

1. get请求传参长度的误区 误区:我们经常说get请求参数的大小存在限制,而post请求的参数大小是无限制的。 实际上HTTP 协议从未规定 GET/POST 的请求长度限制是多少。对get请求参数的限制是...

wenxingjun
今天
0
0
拦截SQLSERVER的SSL加密通道替换传输过程中的用户名密码实现运维审计(一)

工作准备 •一台SQLSERVER 2005/SQLSERVER 2008服务 •SQLSERVER jdbc驱动程序 •Java开发环境eclipse + jdk1.8 •java反编译工具JD-Core 反编译JDBC分析SQLSERVER客户端与服务器通信原理 SQ...

紅顏為君笑
今天
12
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部