你可以在<init-param>中的param-name中指定你要替换的接口,并在param-value中指定自己的接口实现类。可插入点是:·uk.ltd.getahead.dwr.AccessControl·uk.ltd.getahead.dwr.Configuration·uk.ltd.getahead.dwr.ConverterManager·uk.ltd.getahead.dwr.CreatorManager·uk.ltd.getahead.dwr.Processor·uk.ltd.getahead.dwr.ExecutionContext这些可插入点默认的实现都在uk.ltd.getahead.dwr.impl中。使用debug/test模式你可以通过下面的参数让DWR进入debug/test模式:<init-param><param-name>debug</param-name><param-value>true</param-value></init-param>在debug模式里,DWR会为每一个远程调用类生成一个测试页面。
这对于检查DWR是否工作和工作的怎么样是很有用的。这个模式还可以警告你一些存在的问题:javascript保留字问题,或者函数重载问题。尽管如此,这个模式不应该使用在实际部署环境里面,因为它可以为攻击者提供你的服务的大量信息。如果你的网站设计的好的话,这些信息不会帮助攻击者窥视你的网站内容,但是还是不要给任何人一个找到你错误的机会好。DWR就是照上面的样子做的,没有任何保证,所以你的网站的安全是你的责任。请小心。dwr.xml是DWR的配置文件。默认情况下,应该把它放到WEB-INF目录(web.xml的目录)下。这里还有一个dwr.xml对应的DTD文档以及一个用DTDDoc生成的参考手册。dwr好用吗dwr.xml文件的结构如下:<!DOCTYPEdwrPUBLIC"-//GetAheadLimited//DTDDirectWebRemoting1.0//EN"";><dwr><!--initisonlyneededifyouareextendingDWR--><init><creatorid="..."class="..."/><converterid="..."class="..."/></init><!--withoutallow,DWRisn'tallowedtodoanything--><allow><createcreator="..."javascript="..."/><convertconverter="..."match="..."/></allow><!--youmayneedtotellDWRaboutmethodsignatures--><signatures>...</signatures></dwr>这里是一些必须理解的术语-参数会被converted,远程Bean会被created。
所以如果你有一个叫A的bean,它有一个方法叫A.blah(B)那么你需要一个A的creator和一个B的converter。allow段落里面定义的试DWR可以创建和转换的类。我们要调用的每个类都需要一个<create...>定义。creator有几种。比较通用的是new关键字和Spring。更多的信息可以参见[Creaters]文档。我们必须保证所有的参数都可以被转换。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)要了解如何转换你的JavaBean或者其他类型的参数请查看Converters文档。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-25046-6.html
其实还有一个更好的解决方案
回望那条来时的路