dwr学习笔记之配置篇

要加入到你的web.xml最少的代码就是简单地去申明DWR servlet,没有它DWR就不起作用。
      <servlet>
           <servlet-name>dwr-invoker</servlet-name>
           <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
      </servlet>
      <servlet-mapping>
           <servlet-name>dwr-invoker</servlet-name>
           <url-pattern>/dwr/*</url-pattern>
      </servlet-mapping>
在DWR2.x里,DwrServlets是类org.directwebremoting.servlet.DwrServlet ,尽管
uk.ltd.getahead.dwr.DWRServlet仍然可以用。在DWR 1.x你不得不使用后者。
有些额外的servlet参数,在有些地方很重要。尤其debug参数
这个扩展DWR的标准结构是使用<init-params>。放在<servlet>内,就像如下使用
<servlet>
   <servlet-name>dwr-invoker</servlet-name>
    <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
    <init-param>
        <param-name>debug</param-name>
        <param-value>true</param-value>
    </init-param>
</servlet>

另外,启动服务时,如果报如下错。
java.lang.IllegalArgumentException: DefaultContainer can't find a
classes
是DWR2.0 加入了JDK5的注释(annotations).DwrServlet初始化的时候会去检查注释的类,找不到就
抱错了。如果你不用annotations也可以忽略掉这个错误。不过看起来总是不爽。解决方案如下
<servlet>
    <servlet-name>dwr-invoker</servlet-name>
    <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
    <init-param>
        <param-name>debug</param-name>
        <param-value>true</param-value>
    </init-param>
    <init-param>
        <param-name>classes</param-name>
        <param-value>java.lang.Object</param-value>
   </init-param>
</servlet>
  多个dwr.xml配置和J2EE角色定义
一般来说只需要一个dwr.xml文件,并且会被设为默认位置WEB-INF/dwr.xml。所以你不需要配置。
有3个原因说明你为何需要指定不同位置的dwr.xml文件:
    你想保持dwr.xml的文件请参照下面的例子
 <param-value>WEB-INF/classes/com/yourco/dwr/dwr.xml</param-value>
    你可以有很多的远程方法类并且希望指定文件。在这个例子里将指定不同文件开始配置,不同
     的param-name将重复多次DWR将轮流读取它们。
     DWR能够使J2EE URL具有给与不同用户组不同权限的安全机制。通过起不同名字,URL和权
     限。
就像如下例子去使用
 用一个字符串”config” 作为开始,设置param-name,每个param-name必须不同。
<servlet>
    <servlet-name>dwr-user-invoker</servlet-name>
    <servlet-class>
        org.directwebremoting.servlet.DwrServlet
    </servlet-class>
    <init-param>
        <param-name>config-user</param-name>
        <param-value>WEB-INF/dwr-user.xml</param-value>
    </init-param>
</servlet>
<servlet>
    <servlet-name>dwr-admin-invoker</servlet-name>
    <servlet-class>
        org.directwebremoting.servlet.DwrServlet
    </servlet-class>
    <init-param>
        <param-name>config-admin</param-name>
        <param-value>WEB-INF/dwr-admin.xml</param-value>
    </init-param>
</servlet>

<servlet-mapping>
    <servlet-name>dwr-admin-invoker</servlet-name>
    <url-pattern>/dwradmin/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
    <servlet-name>dwr-user-invoker</servlet-name>
    <url-pattern>/dwruser/*</url-pattern>
</servlet-mapping>

 <security-constraint>
    <display-name>dwr-admin</display-name>
    <web-resource-collection>
    <web-resource-name>dwr-admin-collection</web-resource-name>
        <url-pattern>/dwradmin/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>admin</role-name>
    </auth-constraint>
</security-constraint>
<security-constraint>
    <display-name>dwr-user</display-name>
    <web-resource-collection>
        <web-resource-name>dwr-user-collection</web-resource-name>
        <url-pattern>/dwruser/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>user</role-name>
    </auth-constraint>
</security-constraint>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值