- 浏览: 81017 次
- 性别:
- 来自: 长沙
最近访客 更多访客>>
文章分类
最新评论
-
easonfans:
试了,不行……
hibernate的错误4 -
javaAlpha:
偶也是刚设置了 ,确实挺方便的。
MyEclipse扩展功能设置(Eclipse代码提示功能扩展) -
xh28025:
8错,学习了
myEclipse打开JSP时老是要等上好几秒原因? -
ybbkvi:
这样做外键不是没用了?
hibernate错误 -
fpplzw:
哎,都是直接复制粘贴的
<script type='te ...
DWR中文文档v0.9 02
第2章. web.xml配置
2.1 主要配置
要加入到你的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>
2.2 常用<init-param>参数列表
2.2.1 安全参数
allowGetForSafariButMakeForgeryEasier
开始版本:2.0 默认值:false 描述:设置成true使DWR工作在Safari 1.x , 会稍微降低安全性。
crossDomainSessionSecurity
开始版本:2.0 默认值:true
描述:设置成false使能够从其他域进行请求。注意,这样做会在安全性上有点冒险,参考一下这篇文章,在没有理解这个后果前不要设置成为false。
debug
开始版本:1.0 默认值:false 描述:设置成true使DWR能够debug和进入测试页面
scriptSessionTimeout
开始版本:2.0 默认值:1800000(30分钟) 描述:script session 的超时设置
maxCallCount
开始版本:2.0rc2 和 1.1.4 默认值:20 描述:一次批量(batch)允许最大的调用数量。(帮助保护Dos攻击)
2.2.2 Ajax服务器加载时保护参数
pollAndCometEnabled
开始版本:2.0
默认值:false 描述:设置成true能增加服务器的加载能力,尽管DWR有保护服务器过载的机制。 maxWaitingThreads
开始版本:2.0 默认值:100 描述:最大等待线程数量。
preStreamWaitTime
开始版本:2.0 默认值:29000(单位:毫秒) 描述:对一个打开流前的反应,等待的最大时间
postStreamWaitTime
开始版本:2.0 默认值:1000(单位:毫秒) 描述:对一个打开流后的反应,等待的最大时间
2.2.3 其他参数
ignoreLastModified
开始版本:2.0 默认值:false 描述:默认值支持最后修改,这样就允许服务器端对客户端请求较少资源。设置为true就能屏蔽支持。
scriptCompressed
开始版本:1.1 默认值:false
描述:DWR能够执行简单的压缩,设置为true可以激活此功能。另外还有一个未公开的有关系的重要参数“compressionLevel”,此参数允许你配置压缩类型。查看这里得到更多详细资料。
sessionCookieName
开始版本:2.0 默认值:JSESSIONID 描述:DWR通过检查文档和提取当前session ID支持URL重写。一些servlet引擎使用非标准的cookie名。参数允许你改变默认值。
welcomeFiles
开始版本:2.0 默认值:index.html, index.htm, index.jsp 描述:类似于web.xml的<welcome-file-list>标签
2.3 日志配置
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
2.4 多个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和权限。
就像如下例子去使用
<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>
2.5 插件配置
大多数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()指定的。
DWR1.1插件
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包
2.6 测试模式配置
通过添加如下参数,设置debug测试模式
<init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param>
在debug模式里,DWR将为每个allow的类(请看下面的dwr.xml配置章节)生成测试页面。这些能变得非常有用帮助了解DWR能做什么和如何工作。这个模式也能警告你以防止javascript的保留字,或者重载问题。 然而这个模式不应该被用在现场部署,因为他能给黑客或者攻击者许多关于服务器的详细信息。
发表评论
-
DWR中文文档v0.9 11
2008-05-06 14:01 1518第10章. 附录 10.1 常见 ... -
DWR中文文档v0.9 10
2008-05-06 13:59 1512第9章. 范例精讲9.1 购物车该文选自于IBM中国 作者: ... -
DWR中文文档v0.9 09
2008-05-06 13:57 1697第8章. DWR进阶8.1 DWR AnnotationsDW ... -
DWR中文文档v0.9 08
2008-05-06 13:55 1453第7章. util.js 功能util.js包含了一些工具函数 ... -
DWR中文文档v0.9 07
2008-05-06 13:54 3417第6章. engine.js 功能engine ... -
DWR中文文档v0.9 06
2008-05-06 13:51 1423第5章. DWR中的JavaScript简 ... -
DWR中文文档v0.9 05
2008-05-06 13:49 3799第4章. 整合4.1 DWR与Servlet有2个Java类你 ... -
DWR中文文档v0.9 04
2008-05-06 13:23 3516第3章. dwr.xml配置3.1 纵览dwr.xml是你用来 ... -
DWR中文文档v0.9 02
2008-05-06 12:06 2994第1章. DWR入门 1.1 简介 DWR是一个可以允许你去 ... -
DWR中文文档v0.9 01
2008-05-06 11:46 1662序章 说明我做这样都是DWR中文文档v0.9 .pdf中的转载 ...
相关推荐
《DWR中文文档v0.9PDF》是一个关于Direct Web Remoting (DWR)技术的中文版指南,主要面向希望了解和使用DWR框架的开发者。DWR是一种JavaScript库,它允许Web应用程序与服务器端Java代码进行实时交互,实现AJAX...
### DWR中文文档v0.9 - DWR2.0 版本介绍 #### 前言 随着Ajax技术的兴起和发展,越来越多的开发者希望能够利用这项技术为用户提供更丰富的交互体验。然而,对于许多程序员来说,如何将Ajax与现有的应用程序进行有效...
这个压缩包包含了DWR的中文文档、DWR库的jar文件以及与JavaScript相关的资源,对于理解和使用DWR进行开发非常有帮助。 首先,我们来深入了解一下DWR的核心概念和技术特性: 1. **Reverse Ajax**:DWR的主要功能是...
DWR中文文档和dwr.jar包 DWR中文文档v0.9Ajax向我们袭来的时候,很多写代码的程序员看到了Ajax的发展前景,但并不是每一个程序员都能将页面与代码完美整合在一起,DOM、CSS、javascript让人眼花缭乱,不知从何下手。...
本压缩包包含的是DWR的中文文档,版本为v0.9,适用于DWR 2.0。文档详细介绍了如何将DWR整合到Spring、Struts、JSF等流行的Java Web框架中,这些框架在企业级应用开发中广泛使用。通过集成DWR,开发者可以利用AJAX...
DWR的中文官方文档,以及V0.9的文档一共两份 在网站不容易找到合适的说明.这个包里是整合网站的dwr所有帮助信息下载下来的,因为时间缘故没有及时做成电子文档,希望有时间了在做一份. 如果还是看着不方便建议到...
在DWR中文文档v0.9中,读者可以找到关于如何安装、配置DWR,以及如何在项目中使用DWR的详细步骤。文档可能涵盖以下几个方面: 1. **安装与配置**:介绍如何将DWR添加到Web应用的类路径中,以及如何配置DWR的初始化...
在DWR V0.9版本中,可能包含了对早期版本的改进和修复,比如性能优化、新的API、更好的错误处理机制或者对新浏览器的支持等。通过阅读《DWR中文手册(修正).rar》中的dwrV0.9.pdf文档,开发者可以获得关于如何安装、...
本书《DWR中文文档v0.9DWR2.0》由方佳玮编著,旨在为新手提供从入门到实践的完整指南。书中不仅包含了DWR的基本概念、远程方法调用、用户界面组件介绍,还提供了搭建DWR开发环境的步骤和快速开发实例。 #### 二、...