DWR中web.xml配制

本文详细介绍了DWR在web.xml中的配置方法,包括基本配置、高级配置及如何利用J2EE安全机制实现不同用户的访问控制。此外还介绍了DWR 2.0的配置方式以及如何通过标注实现远程访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现在来看看web.xml的配置。web.xml中一般是这样来写的:

一般来说,你只需要一个dwr.xml文件,并且放置在默认的位置:WEB-INF/dwr.xml,如上面配置,就可以很好的工作了。不过现实中的项目可能会很复杂,如:

  • 你希望让dwr.xml文件和它能访问到的资源在一起。在这种情况下你需要一个这样的配置: <param-value>WEB-INF/classes/com/yourco/dwr/dwr.xml</param-value> 
  • 你有大量的远程调用类,希望把他们分成多个文件。在这种情况下你需要重复下面的配置几次,每一个中有不同的 param-name
  • DWR可以使用Servlet规范的J2EE的URL安全机制来给不同的用户不同的访问权限。你只需要简单的定义多个dwr servlet,并且制定不同的名字,url和访问权限。

一个使用J2EE的安全机制的例子:

 

在DWR2.0中.你也可以这样来配置。

 

初始配置

要使用DWR的标注,你需要在web.xml中配置不同的DWR控制器。

<servlet> <description>DWR controller servlet</description> <servlet-name>DWR controller servlet</servlet-name> <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class> <init-param> <param-name>classes</param-name> <param-value> com.example.RemoteFunctions, com.example.RemoteBean </param-value> </init-param> </servlet>

servlet参数classes定义的时可以标注的类的全名,这些名字用逗号分割。

远程访问类

要使一个简单的class可以成为远程访问类,你需要使用 (Create和)RemoteMethod标注。

@Create public class RemoteFunctions { @RemoteMethod public int calculateFoo() {return 42; } }

没有被@RemoteMethod标注的方法不能被远程访问。

要在Javascript使用不同于类型的名字,使用@Create标注的 name 属性。

@Create(name="Functions") public class RemoteFunctions { }

对象转换

要使一个简单的bean类可以被远程访问, 使用 (Convert和)RemoteProperty标注:

@Convert public class Foo { @RemoteProperty private int foo; public int getFoo() {return foo; } @RemoteProperty public int getBar() { return foo * 42; } }

要使用复杂的转换器,使用@Convert标注的 converter 属性。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值