在2。0之前,配制文件中的主类用:org.directwebremoting.servlet.DwrServlet

在后面主类用:uk.ltd.getahead.dwr.DWRServlet

------------------------------------------------------------------------------------------------------------

启动服务时,如果报如下错。
java.lang.IllegalArgumentException: DefaultContainer can't find a
classes

原因是:DWR2.0 加入了JDK5的注释(annotations).DwrServlet 初始化的时候会去检查注释的类,找不到就
抱错了。如果你不用annotations也可以忽略掉这个错误。不过看起来总是不爽。解决方案如下

在配制文件中加入下面的参数

<init-param>
         <param-name>classes</param-name>
         <param-value>java.lang.Object</param-value>
</init-param>

-------------------------------------------------------------------------------------------------------------

配制文件中几个可能用到的参数

scriptSessionTimeout
开始版本:2.0
默认值:1800000(30分钟)
描述:script session 的超时设置

maxCallCount
开始版本:2.0rc2 和 1.1.4
默认值:20
描述:一次批量(batch)允许最大的调用数量。(帮助保护Dos攻击)

Ajax服务器加载时保护参数

pollAndCometEnabled
开始版本:2.0

默认值:false
描述:设置成true能增加服务器的加载能力,尽管DWR 有保护服务器过载的机制。

maxWaitingThreads
开始版本:2.0
默认值:100
描述:最大等待线程数量。

preStreamWaitTime
开始版本:2.0
默认值:29000(单位:毫秒)
描述:对一个打开流前的反应,等待的最大时间

postStreamWaitTime
开始版本:2.0
默认值:1000(单位:毫秒)
描述:对一个打开流后的反应,等待的最大时间

welcomeFiles
开始版本:2.0
默认值:index.html, index.htm, index.jsp
描述:类似于web.xml的<welcome-file-list>标签

通过添加如下参数,设置debug测试模式  
<init-param>
  <param-name>debug</param-name>
  <param-value>true</param-value>
</init-param>

说明:

在debug模式里,DWR将为每个allow的类(请看下面的dwr.xml配置章节)生成测试页面。这些能变得非
常有用帮助了解DWR能做什么和如何工作。这个模式也能警告你以防止javascript 的保留字,或者重载问
题。
然而这个模式不应该被用在现场部署,因为他能给黑客或者攻击者许多关于服务器的详细信息。

-------------------------------------------------------------------------------------------

日志配制

DWR工作在JDK1.3中不支持java.util.logging,但我们并不强迫任何人都去使用commons-logging 或者
log4j,所以在使用HttpServlet.log()方法时 DWR将正常工作,如果没有日志类的话。然而如果DWR可以
使用,那么它将使用日志。

Commoms-Logging
由于大多数servlet 容器都使用它,几乎每个人都将使用commons-logging。所以如果你的webapp不明确
使用commons-logging,它将被默认设为可以使用。
 
在这些日志将被一些配置文件所约束,比如java.util.logging或者log4j,可以去查看他们各自的文档获得
详情。
 
HttpServlet.log()
如果你正在使用HttpServlet.log(), 以下的代码用来控制DWR日志
 
<init-param>
 <param-name>logLevel</param-name>
 <param-value>DEBUG</param-value>
</init-param>
 
值可以是:FATAL,ERROR,WARN(默认),INFO,DEBUG

-------------------------------------------------------------------------------------------------------------------

一般工程中要写一个 dwr.xml文件,并且会被设为默认位置WEB-INF/dwr.xml。所以你不需要配置。

有3个原因说明你为何需要指定不同位置的dwr.xml文件:

1。 你想保持dwr.xml的文件请参照下面的例子
<param-value>WEB-INF/classes/com/yourco/dwr/dwr.xml</param-value>
2。 你可以有很多的远程方法类并且希望指定文件。在这个例子里将指定不同文件开始配置,不同
的param-name将重复多次 DWR将轮流读取它们。 
3。 DWR能够使J2EE URL具有给与不同用户组不同权限的安全机制。通过起不同名字,URL和权
限。

关于3,下面给出一个例子:

<init-param>
  <param-name>config*****</param-name>
  <param-value>WEB-INF/dwr.xml</param-value>
  <description>What config file do we use?</description>
</init-param>

用一个字符串 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>

---------------------------------------------------------------------------------------------------------------

插件配置

大多数DWR 的功能是可以作为插件的,所以就通过替换默认的类可以改变DWR 的功能。你可以通过包
含<init-param>去覆盖默认的实现。举个例子:

<init-param>
  <param-name>
    org.directwebremoting.extend.ServerLoadMonitor
  </param-name>
  <param-value>com.example.MyCustomServerLoadMonitor</param-value>
</init-param>

DWR2.0插件    org.directwebremoting.Container     org.directwebremoting.WebContextFactory.WebContextBuilder     org.directwebremoting.ServerContextFactory.ServerContextBuilder     org.directwebremoting.servlet.UrlProcessor

org.directwebremoting.extend.AccessControl

org.directwebremoting.extend.AjaxFilterManager     org.directwebremoting.extend.ConverterManager

org.directwebremoting.extend.CreatorManager     org.directwebremoting.extend.DebugPageGenerator     org.directwebremoting.extend.HtmlCallMarshaller

org.directwebremoting.extend.HtmlPollHandler

org.directwebremoting.extend.PageNormalizer

org.directwebremoting.extend.PlainCallMarshaller

org.directwebremoting.extend.PlainPollHandler

org.directwebremoting.extend.Remoter

org.directwebremoting.extend.ScriptSessionManager     org.directwebremoting.extend.ServerLoadMonitor

默认的实现大多数在org.directwebremoting.impl 包,细节是在ContainerUtil.setupDefaults()指定的。

----------------------------------------------------------------------------------------------------

DWR 一些注意的地方相关推荐

  1. DWR的学习文档(Hello World,类型转换,Spring,Annotation)

    來源:http://www.iteye.com/topic/40313 DWR是作为远程调用的ajax框架,将服务端的java类,方法和浏览器的javascript的类,方法对应起来.现在官方最新的版 ...

  2. SpringMVC+DWR + Hibernate + 菜单树

    Sort.java Java代码 package com.tree.entity; import java.util.HashSet; import java.util.Set; publicclas ...

  3. JimStoneAjax如何跟DWR竞争?

    2019独角兽企业重金招聘Python工程师标准>>> (JimStoneAjax交流群:366984517) DWR是Ajax实现RIA一时无二的王者,它强大厚重并且饱经磨练.Ji ...

  4. DWR中文文档v0.9 03

    第2章. web.xml配置 2.1 主要配置 要加入到你的web.xml最少的代码就是简单地去申明DWR servlet,没有它DWR就不起作用. <servlet> <servl ...

  5. DWR服务器推 教程

    如何开始用DWR 有两种方法开始DWR,简单的方式是下载WAR文件然后看看.但是这不能帮你知道如何轻松的把DWR整合到你的web应用中,所以还是推荐你按照下面的3个步骤做: 1. 安装DWR的Jar包 ...

  6. dwr的使用和ajax的标签使用 (未读)

    非常详细介绍了DWR和ajax标签的使用.及真实配置 分为两个部分:dwr的原理和应用/真实环境使用(在文章的最后面).基本上适合所有人查阅 DWR的作用:DWR是一个可以允许你去创建AJAX WEB ...

  7. 关于dwr学习(转)

    关于dwr(正在学习,感觉写的很好,所以转载过来) 7月 10, 2008 使用DWR出现"例外被抛出且未被接住"错误的原因和解决办法 归档在: DynamicLanguage, ...

  8. 对DWR的理解(什么是DWR)

    (在论坛中经常看见朋友们使用DWR,我真的是一头雾水,不知道是什么,这篇文章不错,学习一下 希望自己能抽出时间学习一下) DWR 是一个开放源码的使用 Apache 许可协议的解决方案,它包含服务器端 ...

  9. buffalo dwr 比较

    Buffalo VS DWR 作者: cleverpig 声明:文中引用的评论仅表示个人观点,供大家作为技术参考. 开篇言: 本文根据 BJUG maillist讨论整理,取自 Buffalo网站, ...

最新文章

  1. 你动、蒙娜丽莎跟着一起动,OpenCV这么用,表情口型造假更难防了
  2. 工信部:中国4G基站规模超200万个 4G用户数破5亿
  3. Spring 常用注入注解(annotation)和其对应xml标签
  4. 原生H5 select自动提示搜索
  5. 如何使用PowerShell保护密码
  6. 苹果收购Siri的八年,是成还是败?
  7. elasticsearch知识点总结
  8. VOA 2009.11.19-教育报道-美国大学创入学记录新高
  9. 汇编语言---计算绝对值
  10. 使用windows内存-内存映射文件
  11. wps制作可以打钩或取消打钩的正方框
  12. angular拖动插件——ng-drag、ng-drop
  13. 毕业论文字体字号格式要求
  14. 阿里云--实人认证的接口
  15. 网络效应VS平台效应,如何选择主要价值引擎?
  16. 计算机技术专插本考什么科目,2021专插本考试,你的专业要考什么科目?
  17. simulink 风电调频,双馈风机调频,VSG虚拟同步机控制
  18. server2008服务器可以远程桌面连接,但是ping不通
  19. JAVA 实现实心三角形
  20. 各大期货交易所保证金收取方式说明

热门文章

  1. 利用搜狗抓取微信公众号文章
  2. mnist手写数字模型训练、保存、加载及图片预测
  3. 微信朋友圈广告怎么做?
  4. chinaren同学录的字数倒记数
  5. pdf文件流转图片流方法(PDF文档所有页全部转换为图片 )
  6. c++,全局函数做友名
  7. 用JSP构建三层管理信息系统
  8. Deepin升级内核后无法启动的问题
  9. 环境光照IBL(Image-Based Lighting)
  10. sql server 2008 不允许保存更改,您所做的更改要求删除并重新创建以下表