例子:
<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>mconfig-yonghu</param-name> <param-value>/WEB-INF/dwr/dwr.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>dwr-invoker</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping> |
DWR: web.xml配置(一)2008-08-24 01:39一。 主要配置
要加入到你的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>
<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>
二。 常用<init-param>参数列表
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 Ajax服务器加载时保护参数
pollAndCometEnabled 开始版本:2.0
默认值:false
描述:设置成true能增加服务器的加载能力,尽管DWR有保护服务器过载的机制。
maxWaitingThreads 开始版本:2.0
默认值:100
描述:最大等待线程数量。
preStreamWaitTime 开始版本:2.0
默认值:29000(单位:毫秒)
描述:对一个打开流前的反应,等待的最大时间
postStreamWaitTime 开始版本:2.0
默认值:1000(单位:毫秒)
描述:对一个打开流后的反应,等待的最大时间
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>标签
三。 日志配置
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配置和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. 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..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>
|
DWR: web.xml配置(三)
插件配置、测试模式配置五。
插件配置 大多数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包 六。测试模式配置 通过添加如下参数,设置debug测试模式
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
在debug模式里,DWR将为每个allow的类(请看下面的dwr.xml配置章节)生成测试页面。这些能变得非常有用帮助了解DWR能做什么和如何工作。这个模式也能警告你以防止javascript的保留字,或者重载问题。
然而这个模式不应该被用在现场部署,因为他能给黑客或者攻击者许多关于服务器的详细信息。
DWR: dwr.xml配置(一)纵览、<init>
标签2008-08-24 02:50一. 纵览
dwr.xml是你用来配置DWR的文件,默认是将其放入WEB-INF文件夹。 创建一个dwr.xml文件 dwr.xml有如下的结构:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN""http://www.getahead.ltd.uk/dwr/dwr20.dtd">
<dwr><!-- 仅当需要扩展DWR时才需要 -->
<init>
<creator id="..." class="..." />
<converter id="..." class="..." />
</init><!-- 没有它DWR什么也做不了 -->
<allow>
<create creator="..." javascript="..." />
<convert converter="..." match="..." />
</allow><!-- 有必要告诉DWR方法签名 -->
<signatures>...</signatures>
</dwr>
二. <init>标签
这个初始化部分申明被用来创建远程beans而且这个类能被用来以某种过程转换。大多数例子你将不需要用它,如果你想去定义一个新的Creator或者Converter,就要在此被申明。
在init部分里有了定义只是告诉DWR这些扩展类的存在,给出了如何使用的信息。这时他们还没有被使用。这种方式很像Java中的import语句。多数类需要在使用前先import一下,但是只有import语句并不表明这个类已经被使用了。每一个creator和converter都用id属性,以便后面使用。
相关推荐
web.xml dwr.xml 任何一个dwr.xml的文件都需要包含DWR DOCTYPE的声明行,。。 有几个术语有必要理解,参数叫做converted,远程Bean叫做created.如果远程Bean A有个方法A.blah(B),那么你需要为A建立一个created,为B建立...
DWR2.jar提供了核心功能,DWR.xml定制了DWR的行为,DWR2.0.dtd保证了配置文件的正确性,而Web.xml确保了DWRServlet的正确部署和配置。通过熟练掌握这些知识点,开发者可以有效地利用DWR构建动态、交互性强的Web应用...
总结来说,`dwrweb.xml`文件是DWR框架的核心配置文件,它定义了DWRServlet的启动参数和URL映射,同时可以通过扩展配置实现跨域安全控制和对象转换规则。理解并熟练配置此文件,对于充分利用DWR实现高效、灵活的AJAX...
"dwr.xml 文件的配置和入门使用" DWR(Direct Web Remoting)是一种基于 Java 的远程方法调用技术,它允许 Java 对象在 Web 应用程序中被远程调用。dwr.xml 文件是 DWR 的核心配置文件,用于定义哪些 Java 类可以被...
DWR.xml配置文件说明书 1、 建立dwr.xml 配置文件 任何一个dwr.xml的文件都需要包含DWR DOCTYPE的声明行,格式如下: <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" ...
dwr配置文件详解 dwr.xml配置文件详解 dwr配置文件是Direct Web Remoting(DWR)的核心组件之一,它负责配置DWR的各种设置和参数。在本文中,我们将详细介绍dwr配置文件的结构和配置方法,并探讨它在实际应用中的...
### DWR.xml配置文件详解 #### 一、DWR配置文件结构与作用 DWR(Direct Web Remoting)是一个开源的Ajax框架,它允许在浏览器端JavaScript代码直接调用服务器端Java方法,从而简化了传统的AJAX编程。DWR.xml是DWR...
"DWR.xml配置文件说明书.doc"是关于DWR核心配置文件的详细指南。DWR.xml文件是DWR框架的核心配置,它定义了哪些服务器端的Java对象可以被JavaScript访问,以及这些对象的映射、安全设置和其他配置选项。通过配置这个...
DWR的核心在于它的XML配置文件,即DWR.xml,它是DWR工作的重要组成部分。 **DWR.xml配置文件详解** 1. **DWR.xml结构**:DWR.xml文件通常位于Web应用的WEB-INF目录下,它是DWR引擎的配置中心,定义了哪些Java类...
**DWR.xml配置详解** Direct Web Remoting (DWR) 是一个开源的Java库,它允许Web应用程序在浏览器和服务器之间进行实时的、安全的、跨域的通信。DWR的核心在于XML配置文件,即`dwr.xml`,它是DWR与应用服务器交互的...
《DWR(Direct Web Remoting)配置详解与JSP页面应用实践》 DWR,全称为Direct Web Remoting,是一个开源Java库,它允许在浏览器和服务器之间进行实时的、安全的JavaScript到Java的调用,实现了AJAX的核心功能。在...
dwr.xml文件是DWR框架的核心配置文件之一,通过上述分析可以看出,它主要包含了DWR Servlet的配置信息,如Servlet的名称、类名、初始化参数以及映射的URL路径等。这些配置对于DWR框架正常运行至关重要,通过合理的...
在描述中提到的"覆盖原WEB工程里面的WEB-INF"意味着你需要将上述的DWR相关包复制到你的Web应用的`WEB-INF/lib`目录下,并且更新或替换现有的`web.xml`文件以包含上述配置。这样,当你启动或重新部署应用时,DWR就会...
**DWR.xml配置文件说明书** DWR(Direct Web Remoting)是一种开源JavaScript库,它允许在Web浏览器和Java服务器之间进行直接的、安全的、实时的通信,无需使用任何插件或框架。DWR的核心功能是使前端JavaScript...
部署DWR JAR文件通常涉及到将它们添加到Web应用的类路径中,配置DWR的`dwr.xml`配置文件,以及在客户端HTML页面中引入相应的JavaScript库。对于Spring框架的集成,还需要配置Spring的bean定义。 总的来说,DWR的...
### DWR.xml配置文件详解 #### 一、概述 DWR (Direct Web Remoting) 是一个简化Ajax开发的Java框架,它允许JavaScript直接调用服务器端的Java方法,从而简化了客户端与服务器之间的交互过程。在DWR中,配置文件dwr...
**DWR.xml配置文件**是DWR框架的核心配置,它定义了哪些Java类和方法可以被客户端JavaScript访问。以下是一些关键配置元素的解释: 1. **<dwr>`根元素**:这是配置文件的起点,通常包含其他所有配置元素。 2. **`...
DWR的核心配置主要包含在两个文件中:`web.xml` 和 `dwr.xml`。 ##### web.xml `web.xml` 文件主要用于定义DWR Servlet及其映射规则: ```xml <servlet-name>dwr-invoker <servlet-class>org....
《web.xml配置归纳》 在Java Web开发中,`web.xml`是应用的部署描述符,它是应用程序配置的核心,用于定义各种组件、过滤器、监听器等。以下是一些关键配置点的归纳: 1. **Spring上下文配置** 当我们需要改变`...
DWR (Direct Web Remoting) 是一个开源框架,它允许Web应用程序通过JavaScript直接调用服务器端的Java方法,实现AJAX的功能。`dwr.xml`是DWR的核心配置文件...正确理解和配置`dwr.xml`是利用DWR进行Web开发的关键步骤。