`
rimoer
  • 浏览: 98935 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

dwr.xml的配置

 
阅读更多
本人对dwr中文文档关于dwr.xml做的一个整理,纯粹体力活,有用得着的朋友别忘顶一下,留个联系方式一起交流学习!

dwr.xml是DWR的配置文件。默认情况下,应该把它放到WEB-INF目录(web.xml的目录)下

创建dwr.xml文件

dwr.xml文件的结构如下:

<!DOCTYPE dwr PUBLIC    "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"    "http://www.getahead.ltd.uk/dwr/dwr10.dtd"><dwr>  <!-- init is only needed if you are extending DWR -->  <init>    <creator id="..." class="..."/>    <converter id="..." class="..."/>  </init>  <!-- without allow, DWR isn't allowed to do anything -->  <allow>    <create creator="..." javascript="..."/>    <convert converter="..." match="..."/>  </allow>  <!-- you may need to tell DWR about method signatures -->  <signatures>    ...  </signatures></dwr>

术语

这里是一些必须理解的术语 - 参数会被converted,远程Bean会被created。所以如果你有一个叫A的bean,它有一个方法叫A.blah(B) 那么你需要一个A的creator和一个B的converter

一:<allow>

allow段落里面定义的试DWR可以创建和转换的类。

二:Creators

dwr.xml文件中的create元素的结构如下:

<allow>  <create creator="..." javascript="..." scope="...">    <param name="..." value="..."/>    <auth method="..." role="..."/>    <exclude method="..."/>    <include method="..."/>  </create>  ...</allow>

这里的多数元素都是可选的 - 你真正必须知道的是指定一个creator和一个javascript名字。

creator属性 是必须的 - 它用来指定使用那种创造器。

默认情况下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+)

如果你需要写自己的创造器,你必须在init部分注册它。

javascript属性 用于指定浏览器中这个被创造出来的对象的名字。你不能使用Javascript的关键字。

scope属性 非常类似servlet规范中的scope。 它允许你指定这个bean在什么生命范围。选项有"application", "session", "request" 和"page"。这些值对于Servlet和JSP开发者来说应该相当熟悉了。

scope属性是可选的。默认是"page"。如果要使用"session"需要cookies。当前的DWR不支持ULR重写。

param元素 被用来指定创造器的其他参数,每种构造器各有不同。例如,"new"创造器需要知道要创建的对象类型是什么。每一个创造器的参数在各自的文档中能找到。请查看上面的链接。

include和exclude元素 允许创造器来限制类中方法的访问。一个创造器必须指定include列表或exclude列表之一。如果是include列表则暗示默认的访问策略是"拒绝";如果是exclude列表则暗示默认的访问策略是"允许"。

例如要拒绝防范除了setWibble()以外的所有方法,你应该把如下内容添加到dwr.xml中。

<create creator="new" javascript="Fred">  <param name="class" value="com.example.Fred"/>  <include method="setWibble"/></create>

对于加入到create元素中的类的所有方法都是默认可见的。

auth元素 允许你指定一个J2EE的角色作为将来的访问控制检查:

<create creator="new" javascript="Fred">  <param name="class" value="com.example.Fred"/>  <auth method="setWibble" role="admin"/></create>

new创造器在DWR中已经默认声明了:<creator id="new" class="uk.ltd.getahead.dwr.create.NewCreator"/> 。你不需要在dwr.xml文件中添加这段话,它已经存在于DWR的内部dwr.xml文件中了。

这个创造器通过类默认的够早函数创造对象实例。用new创造器有一些好处:

  • 安全:DWR创造的对象生存的事件越短,多次调用中间的值不一致的错误机会越少。
  • 内存消耗低: 如果你的站点用户量非常大,这个创造器可以减少VM的内存溢出。

你可以通过下面的方式使用new创造器来创造远程调用Bean:

<allow>  <create creator="new" javascript="Blah">    <param name="class" value="java.util.Date"/>  </create>  ... </allow>

这些代码把 java.util.Date 映射成Javascript,并且命名为Blah,所以在Javascript中当你调用Blah.toString(reply) 那么一个新的 java.util.Date 就会通过默认的构造函数创造出来, 然后 toString() 方法被调用, 然后结果数据返回给reply方法(在这个例子中date是字符串格式)。


none'创造器不创建任何对象 - 它会假设你不需要创建对象。这有可能是对的,有两个原因。

你可能在使用的scope不是"page"(看上面),并在在前面已经把这个对象创建到这个scope中了,这时你就不需要再创建对象了。

还有一种情况是要调用的方法是静态的,这时也不需要创建对象。DWR会在调用创建器之前先检查一下这个方法是不是静态的。

对于上诉两种情况,你仍然需要class参数,用来告诉DWR它是在操作的对象类型是什么。


scripted创造器在DWR中已经默认声明了:<creator id="script" class="uk.ltd.getahead.dwr.create.ScriptedCreator"/>

这个创造器用BSF来执行脚本得到Bean,例如:

<allow>  ...  <create creator="script" javascript="EmailValidator">    <param name="language" value="beanshell"/>    <param name="script">      import org.apache.commons.validator.EmailValidator;      return EmailValidator.getInstance();    </param>  </create>  ...</allow>

script创造器有如下参数:

参数 DWR版本 描述
language 1.0 脚本语言,字符串,例如'beanshell'. (必需)
script 1.0 要执行的脚本。 (必需,除非scriptPath参数存在)
scriptPath 1.1 脚本文件路径。 (必需,除非script参数存在)
reloadable 1.1 是否检测脚本文件的改动,以重新加载 (可选, 默认true)
class 1.0 创造出对象的类型(可选). 如果没有DWR通过创造器得到类型。

需要了解的主题

要使用这个创造器,你需要把一些辅助库放到WEB-INF/lib文件夹下:BSF的jar包,你要用的脚本语言的jar包

当一个类是用script创造出来的,并且scope是session或application,如果你的脚本改变,session中的类和script中的类就不一致了。这样会出现错误。虽然web容器不用重启,但是用户需要先登出(或以某种方式清空session),然后再登录。

当clazz参数不为空,并且用来创造新实例,DWR简单的调用 class.newInstance() 方法。这种方法是没问题的,除非脚本正在用某个参数创建一个类,或者调用某个函数来配置这个类。 不幸的是,每次请求都要重新运行script并造成上面的问题。


<!--<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:dc="http://purl.org/dc/elements/1.1/"xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"><rdf:Descriptionrdf:about="http://wiki.javascud.org/display/dwrcn/Scripted+Creator"dc:identifier="http://wiki.javascud.org/display/dwrcn/Scripted+Creator"dc:title="Scripted Creator"trackback:ping="http://wiki.javascud.org/rpc/trackback/4991" /></rdf:RDF>--><!--Root decorator: all decisions about how a page is to be decorated via theinline decoration begins here.--><!--Switch based upon the context. However, for now, just delegate to a decoratoridentified directly by the context.--><!--<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:dc="http://purl.org/dc/elements/1.1/"xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"><rdf:Descriptionrdf:about="http://wiki.javascud.org/display/dwrcn/New+Creator"dc:identifier="http://wiki.javascud.org/display/dwrcn/New+Creator"dc:title="New Creator"trackback:ping="http://wiki.javascud.org/rpc/trackback/4990" /></rdf:RDF>--><!--Root decorator: all decisions about how a page is to be decorated via theinline decoration begins here.--><!--Switch based upon the context. However, for now, just delegate to a decoratoridentified directly by the context.-->

创造器

让DWR和Spring一起工作的步骤

  1. 确认你用的是最新版的DWR。Spring创造器已经有了变化,所以你最好检查一下DWR的最新版本
  2. 确认你查看过开始指南中的内容。
  3. 确认你的Spring的Bean在DWR外面运行良好。
  4. 配置DWR和Spring一起工作。 (看下面)
  5. 查看演示页面: http://localhost:8080/[ YOUR-WEBAPP ]/dwr ,检查spring的Bean是否出现。

DWR对于Spring没有运行期依赖,所以如果你不使用Spring那么Spring的支持不会产生任何影响到。

The SpringCreator

这个创造器会查找spring的中配置的Bean,用Spring去创建它们。如果你已经在使用Spring,那么这个创造器会非常有用。

你可以通过下面的方式来创建远程调用的Bean:

<allow> ... <create creator="spring" javascript="Fred"> <param name="beanName" value="Shiela"/> </create> </allow>

寻找你的Spring配置

有三种方式寻找配置文件:

ContextLoaderListener

最简单的方式是使用org.springframework.web.context.ContextLoaderListener。你不必使用所有的Spring-MVC功能,只需要这个Listener就够了,所以这是个不错的方案。你需要在WEB-INF/web.xml中做如下配置:

<context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/classes/beans.xml</param-value> </context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener>

我能找到的ContextLoaderListener的最好的文档就是javadoc。如果你知道还有更好的文档,请告知我。

Rob Sanheim 指出还有一个能深入了解ContextLoaderListener的文档。

使用location*参数

如果你要在dwr.xml中指定使用哪些bean,你可以使用location*参数。你可以指定任意多个文件,只要参数以location开始并且唯一即可。例如:location-1, location-2。这些location被用做Spring的ClassPathXmlApplicationContext的参数:

<allow> ... <create creator="spring" javascript="Fred"> <param name="beanName" value="Shiela"/> <param name="location" value="beans.xml"/> </create> </allow>

直接设置BeanFactory

SpringCreator有一个静态方法 setOverrideBeanFactory(BeanFactory) 用来通过编程的方式直接设置BeanFactory。

配置DWR和Spring

Bram Smeets写了一个有意思的blog,教你配置DWR使用beans.xml代替WEB-INF/web.xml。

我也对于如何在beans.xml中指定dwr.xml很感兴趣,尽管这看上去有些Spring传染病的感觉。有人知道如何实现吗?请加入邮件列表并告诉大家。


整合

DWR包括两个JSF的扩展点,一个创造器和一个ServletFilter。

'jsf'创造器

DWR1.1中有一个体验版的JsfCreator。你可以哉dwr.xml中这样使用:

<allow>  ...  <create creator="jsf" javascript="ScriptName">    <param name="managedBeanName" value="beanName"/>    <param name="class" value="your.class"/>  </create>  ...</allow>

这将允许你通过DWR调用ManagedBean。

The Servlet Filter

DWR/Faces 过滤器允许你不在JSF的生命周期里调用FacesContext中的Bean。

要使用JsfCreator,你应该把DWR/Faces过滤器加到web.xml中。

<filter>  <filter-name>DwrFacesFilter</filter-name>  <filter-class>uk.ltd.getahead.dwr.servlet.FacesExtensionFilter</filter-class></filter><filter-mapping>  <filter-name>DwrFacesFilter</filter-name>  <url-pattern>/dwr/*</url-pattern></filter-mapping>

这两个需要放在web.xml中与其他的filter和filter-mapping放在一起。


<!--<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:dc="http://purl.org/dc/elements/1.1/"xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"><rdf:Descriptionrdf:about="http://wiki.javascud.org/display/dwrcn/JSF+Integration"dc:identifier="http://wiki.javascud.org/display/dwrcn/JSF+Integration"dc:title="JSF Integration"trackback:ping="http://wiki.javascud.org/rpc/trackback/4993" /></rdf:RDF>--><!--Root decorator: all decisions about how a page is to be decorated via theinline decoration begins here.--><!--Switch based upon the context. However, for now, just delegate to a decoratoridentified directly by the context.-->

整合Struts

DWR几乎可以和任何Framework一起工作。这个网站(DWR的官方网站)就是这一点的有力证明,因为它是在Drupal(PHP)中使用DWR。

DWR和Struts整合有两个层次。最基础的层次就是同时使用两个Framework,这是非常容易的,但是这样就不允许在DWR和Struts之间共享Action了。

DWR可以调用任何方法,所以没有理由不让你从DWR调用Struts的Action,除非你不想这样用。ActionForm的内容是什么,当返回ActionForward时DWR怎么做?

一个比较好方法是重构你想调用的Action,提取出Action的逻辑。DWR和你的Action就可以同时调用相同的方法了。

The 'struts' 创造器

DWR1.1增加了一个StrutsCreator。你可以哉dwr.xml中这样使用:

<allow>  ...  <create creator="struts" javascript="ScriptName">    <param name="formBean" value="formBeanName"/>  </create>  ...</allow>

这样就允许你在DWR中调用FormBean了。

开始顺序

如果你要使用StrutsCreator那么你保证Struts在DWR之前被初始化。你可以在web.xml中把Struts的<load-on-startup>设置的比DWR低。


<!--<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:dc="http://purl.org/dc/elements/1.1/"xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"><rdf:Descriptionrdf:about="http://wiki.javascud.org/display/dwrcn/Struts+Integration"dc:identifier="http://wiki.javascud.org/display/dwrcn/Struts+Integration"dc:title="Struts Integration"trackback:ping="http://wiki.javascud.org/rpc/trackback/4995" /></rdf:RDF>--><!--Root decorator: all decisions about how a page is to be decorated via theinline decoration begins here.--><!--Switch based upon the context. However, for now, just delegate to a decoratoridentified directly by the context.-->

pageflow 创造器

DWR中有一个创造器可以和Weblogic或者Beehive中的PageFlow一起工作。

The 'pageflow' Creator

DWR1.1中加入了一个PageFlowCreator。你可以这样使用:

<allow>  ...  <create creator="pageflow" javascript="ScriptName"/>  ...</allow>

使用静态方法

DWR会在调用创建器之前先检查一下这个方法是不是静态的,如果是那么创造器不会被调用。很显然这个逻辑适用于所有创造器,尽管如此"null"创造器是最容易配置的。

适用单例类

对于单例类的创建,最好适用BeanShell和BSF来实例化对象。详细信息参见'Scripted'创造器

其他创造器

我么偶尔也需要一些新的创造器,最常见的是一个EjbCreator。讨论新的创造器的好地方是在邮件列表

DWR和HttpSessionBindingListeners

DWR1.x中存贮已经创造的Bean的方法需要注意,它在每次请求时都会调用相同的 setAttribute() 方法。就是说,如果一个Bean在dwr.xml中的声明周期设置为session,再每次调用bean中的方法时,DWR都会执行一次 session.setAttribute(yourBean) 。这看上去没有什么危害,但是如果你要使用servlet的事件机制的,就是说用了HttpSessionBindingListener接口,你就会发现valueBound和valueUnbound事件在每次调用时都会发生,而不是你想像的在bean被创建时以及session过期时。
DWR2 只在第一次创建对象时调用 setAttribute()

三:Converters

我们必须保证所有的参数都可以被转换。JDK中的多数类型已经有转换器了,但是你需要给DWR转换你的代码的权利。一般来说JavaBean的参数需要一个<convert ...>定义。
默认情况下,如下类型不需要定义就可以转换:
  • 所有的原生类型 boolean,int,double, 等等
  • 原生类型的对象类型 Boolean,Integer,等等
  • java.lang.String
  • java.util.Date 和SQL中的Date
  • 以上类型组成的数组
  • 以上类型的集合类型 (Lists, Sets, Maps, Iterators, 等)
  • 从DOM, XOM, JDOM 和 DOM4J中的DOM对象 (类似 Element 和 Document)

下面这些转换器有单独章节介绍

基础的转换器

原生类型,String,像BigDecimal这样的简单对象的转换器已经有了。你不需要在dwr.xml中<allow>部分的<convert>中定义。它们默认支持。

默认支持的类型包括: boolean, byte, short, int, long, float, double, char, java.lang.Boolean, java.lang.Byte, java.lang.Short, java.lang.Integer, java.lang.Long, java.lang.Float, java.lang.Double, java.lang.Character, java.math.BigInteger, java.math.BigDecimal 和 java.lang.String

Date转换器

Date转换器负责在Javascript的Date类型与Java中的Date类型(java.util.Date, java.sql.Date, java.sql.Times or java.sql.Timestamp)之间进行转换。同基础的转换器一样,DateConverter默认是支持的。

如果你有一个Javascript的字符串 (例如"01 Jan 2010") ,你想把它转换成Java的Date类型有两个办法:在javascript中用Date.parse()把它解析成Date类型,然后用DWR的DateConverter传递给服务器;或者把它作为字符串传递给Server,再用Java中的SimpleDateFormat(或者类似的)来解析。

同样,如果你有个Java的Date类型并且希望在HTML使用它。你可以先用SimpleDateFormat把它转换成字符串再使用。也可以直接传Date给Javascript,然后用Javascript格式化。第一种方式简单一些,尽管浪费了你的转换器,而且这样做也会是浏览器上的显示逻辑受到限制。其实后面的方法更好,也有一些工具可以帮你,例如:

其他对象

其实创建自己的转换器也很简单。Converter接口的Javadoc包含了信息。其实这种需要很少出现。在你写自己的Converter之前先看看BeanConverter,它有可能就是你要的。

四:<init>

可选的init部分用来声明创造bean的类和转换bean的类。多数情况下你不需要用到他们。如果你需要定义一个新的Creator [JavaDoc] 和 Converter [JavaDoc] , 那么你就需要在这里定义他们。但是建议你现检查一下DWR是不是已经支持了。

在init部分里有了定义只是告诉DWR这些扩展类的存在,给出了如何使用的信息。这时他们还没有被使用。这中方式很像Java中的import语句。多数类需要在使用前先import一下,但是只有import语句并不表明这个类已经被使用了。每一个creator和converter都用id属性,以便后面使用。

五:<signatures>

DWR使用反射来找出在转换时应该用那种类型。有时类型信息并不明确,这时你可以在这里写下方法的签名来明确类型。

signatures段使DWR能确定集合中存放的数据类型。例如下面的定义中我们无法知道list中存放的是什么类型。

public class Check{  public void setLotteryResults(List nos)  {      ...  }}

signatures段允许我们暗示DWR应该用什么类型去处理。格式对以了解JDK5的泛型的人来说很容易理解。

<signatures>  <![CDATA[  import java.util.List;  import com.example.Check;  Check.setLotteryResults(List<Integer> nos);  ]]></signatures>

DWR中又一个解析器专门来做这件事,所以即便你的环境时JDK1.3 DWR也能正常工作。

解析规则基本上会和你预想规则的一样(有两个例外),所以java.lang下面的类型会被默认import。

第一个是DWR1.0中解析器的bug,某些环境下不能返回正确类型。所以你也不用管它了。

第二个是这个解析器时"阳光(sunny day)"解析器。就是说它非常宽松,不想编译器那样严格的保证你一定正确。所以有时它也会允许你丢失import:

<signatures>  <![CDATA[  import java.util.List;  Check.setLotteryResults(List<Integer>);  ]]></signatures>

将来的DWR版本会使用一个更正式的解析器,这个编译器会基于官方Java定义,所以你最好不要使用太多这个不严格的东西。

signatures段只是用来确定泛型参数中的类型参数。DWR会自己使用反射机制或者运行时类型确定类型,或者假设它是一个String类型。所以:

不需要signatures - 没有泛型参数:

public void method(String p);public void method(String[] p);

需要signatures - DWR不能通过反射确定:

public void method(List<Date> p);public void method(Map<String, WibbleBean> p);

不需要signatures - DWR能正确的猜出:

public void method(List<String> p);public void method(Map<String, String> p);

不需要signatures - DWR可以通过运行时类型确定:

public List<Date> method(String p);

没有必要让Javascript中的所有对象的key都是String类型 - 你可以使用其他类型作为key。但是他们在使用之前会被转换成String类型。DWR1.x用Javascript的特性把key转换成String。DWR2.0可能会用toString()方法,在服务段进行这一转换。

六:多个dwr.xml文件

可以有多个dwr.xml文件(详细信息见web.xml文档)。每个文件中的定义会被加在一起。DWR用这个功能来加载基础配置文件。我们可以看看标准被配置文件来了解dwr.xml的内容。

分享到:
评论

相关推荐

    dwr配置文件详解 dwr.xml配置文件详解

    dwr配置文件详解 dwr.xml配置文件详解 dwr配置文件是Direct Web Remoting(DWR)的核心组件之一,它负责配置DWR的各种设置和参数。在本文中,我们将详细介绍dwr配置文件的结构和配置方法,并探讨它在实际应用中的...

    DWR.xml配置文件说明书(含源码)

    DWR.xml配置文件说明书 1、 建立dwr.xml 配置文件 任何一个dwr.xml的文件都需要包含DWR DOCTYPE的声明行,格式如下: &lt;!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" ...

    DWR.xml配置文件说明

    ### DWR.xml配置文件详解 #### 一、DWR配置文件结构与作用 DWR(Direct Web Remoting)是一个开源的Ajax框架,它允许在浏览器端JavaScript代码直接调用服务器端Java方法,从而简化了传统的AJAX编程。DWR.xml是DWR...

    DWR 教程 中文API DWR.xml配置文件说明 DWR学习笔记

    "DWR.xml配置文件说明书.doc"是关于DWR核心配置文件的详细指南。DWR.xml文件是DWR框架的核心配置,它定义了哪些服务器端的Java对象可以被JavaScript访问,以及这些对象的映射、安全设置和其他配置选项。通过配置这个...

    DWR,web.xml,dwr.xml,converted,created

    任何一个dwr.xml的文件都需要包含DWR DOCTYPE的声明行,。。 有几个术语有必要理解,参数叫做converted,远程Bean叫做created.如果远程Bean A有个方法A.blah(B),那么你需要为A建立一个created,为B建立一个converted.。...

    DWR笔记 DWR.xml配置文件说明书 DWR技术分析

    DWR的核心在于它的XML配置文件,即DWR.xml,它是DWR工作的重要组成部分。 **DWR.xml配置文件详解** 1. **DWR.xml结构**:DWR.xml文件通常位于Web应用的WEB-INF目录下,它是DWR引擎的配置中心,定义了哪些Java类...

    dwr.xml文件的配置和入门使用

    "dwr.xml 文件的配置和入门使用" DWR(Direct Web Remoting)是一种基于 Java 的远程方法调用技术,它允许 Java 对象在 Web 应用程序中被远程调用。dwr.xml 文件是 DWR 的核心配置文件,用于定义哪些 Java 类可以被...

    dwr.xml配置描述及JSP上的引用_1

    在本文中,我们将深入探讨DWR的核心配置文件`dwr.xml`以及如何在JSP页面上有效地引用和使用DWR。 首先,让我们了解一下`dwr.xml`配置文件。这个文件是DWR的核心配置,它定义了哪些Java对象和方法可以被客户端的...

    DWR.xml配置文件说明书

    **DWR.xml配置文件说明书** DWR(Direct Web Remoting)是一种开源JavaScript库,它允许在Web浏览器和Java服务器之间进行直接的、安全的、实时的通信,无需使用任何插件或框架。DWR的核心功能是使前端JavaScript...

    DWR.xml配置文件说明书.txt

    ### DWR.xml配置文件详解 #### 一、概述 DWR (Direct Web Remoting) 是一个简化Ajax开发的Java框架,它允许JavaScript直接调用服务器端的Java方法,从而简化了客户端与服务器之间的交互过程。在DWR中,配置文件dwr...

    DWR.xml.rar_dwr.xml

    **DWR.xml配置详解** Direct Web Remoting (DWR) 是一个开源的Java库,它允许Web应用程序在浏览器和服务器之间进行实时的、安全的、跨域的通信。DWR的核心在于XML配置文件,即`dwr.xml`,它是DWR与应用服务器交互的...

    DWR学习与DWR.xml配置说明

    **DWR.xml配置文件**是DWR框架的核心配置,它定义了哪些Java类和方法可以被客户端JavaScript访问。以下是一些关键配置元素的解释: 1. **&lt;dwr&gt;`根元素**:这是配置文件的起点,通常包含其他所有配置元素。 2. **`...

    dwr.xml文件

    dwr.xml文件是DWR框架的核心配置文件之一,通过上述分析可以看出,它主要包含了DWR Servlet的配置信息,如Servlet的名称、类名、初始化参数以及映射的URL路径等。这些配置对于DWR框架正常运行至关重要,通过合理的...

    DWR2.jar + DWR.xml + DWR2.0.dtd + Web.xml

    DWR2.jar提供了核心功能,DWR.xml定制了DWR的行为,DWR2.0.dtd保证了配置文件的正确性,而Web.xml确保了DWRServlet的正确部署和配置。通过熟练掌握这些知识点,开发者可以有效地利用DWR构建动态、交互性强的Web应用...

    dwr.xml

    DWR的核心配置主要包含在两个文件中:`web.xml` 和 `dwr.xml`。 ##### web.xml `web.xml` 文件主要用于定义DWR Servlet及其映射规则: ```xml &lt;servlet-name&gt;dwr-invoker &lt;servlet-class&gt;org....

    dwr源码包,dwr.jar包下载

    2、 在web.xml中配置dwr,如下: &lt;!-- 配置DWR --&gt; &lt;servlet-name&gt;dwr-invoker org.directwebremoting.servlet.DwrServlet &lt;init-param&gt; &lt;param-name&gt;debug&lt;/param-name&gt; &lt;param-value&gt;...

    dwr.jar 以及dwr配置文件

    在这个压缩包中,包含的核心组件是“dwr.jar”,这是DWR框架的主要运行时库,以及“dwr.xml”配置文件,它是DWR进行自定义设置的关键。 首先,我们来详细了解“dwr.jar”。这个JAR文件包含了所有DWR运行所需的类和...

    dwr.xml标签介绍

    在DWR框架中,`dwr.xml`配置文件起着至关重要的作用,它定义了哪些Java对象可以被远程调用,以及如何进行转换和创建。 在`dwr.xml`文件中,主要包含以下几个部分: 1. **初始化(init)**: 这一部分定义了自定义...

    DWR帮助文档-dwr[1].xml文件的配置.doc

    `dwr.xml`是DWR的核心配置文件,用于定义哪些Java类和方法可以被前端JavaScript访问,以及如何进行转换。 在DWR的工作机制中,`dwr.xml`配置文件起到了关键的作用。通过配置,你可以指定哪些服务器端的Java类(例如...

Global site tag (gtag.js) - Google Analytics