dwr学习笔记之配置篇

xiaoxiao2026-05-23  0

要加入到你的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 aclasses是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>

相关资源:敏捷开发V1.0.pptx
转载请注明原文地址: https://www.6miu.com/read-5049224.html

最新回复(0)