DWR 配置与参数
WEB.XML
<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>activeReverseAjaxEnabled</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>initApplicationScopeCreatorsAtStartup</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>maxWaitAfterWrite</param-name>
<param-value>500</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
多dwr.xml文件的配置
可能有几种情况,我们一一列举。 一个servlet,多个dwr.xml配置文件;多个servlet,每个servlet对应一个或多个dwr.xml.
一个Servlet 多个dwr.xml配置文件:
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
<init-param>
<param-name>config-1</param-name>
<param-value>WEB-INF/dwr1.xml</param-value>
</init-param>
<init-param>
<param-name>config-2</param-name>
<param-value>WEB-INF/dwr2.xml</param-value>
</init-param>
</servlet>
在这种配置下,param-name的值必须以config开头。param-name可以有>=0个。如果没有param-name,那么将会读取WEB-INF/dwr.xml。如果有大于零个param-name,那么WEB-INF/dwr.xml文件将不会被读取。
多个servlet,每个servlet对应一个或多个dwr.xml :
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>dwr-invoker1</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
<init-param>
<param-name>config-admin</param-name>
<param-value>WEB-INF/dwr1.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>dwr-invoker1</servlet-name>
<url-pattern>/dwr1/*</url-pattern>
</servlet-mapping>
在这种情况下,我们可以根据J2EE security来控制权限,针对不同url,加不同的角色。
页面引用
<script type='text/javascript' src='<%=path %>/dwr/interface/loginService.js'></script>
<script type='text/javascript' src='<%=path %>/dwr/engine.js'></script>
<script type='text/javascript' src='<%=path %>/dwr/util.js'></script>
loginService 是dwr.xml中定义的 javaScript名称
测试路径:
http://localhost:8080/项目名称/dwr
dwr.xml是DWR的配置文件。默认情况下,应该把它放到WEB-INF目录下
new: 用Java的new关键字创造对象。
static: 使用“getInstance()的方法(默认情况下)来获得类的一个实例.
none: 它不创建对象,看下面的原因。 (v1.1+)
scripted: 通过BSF使用脚本语言创建对象,例如BeanShell或Groovy。
spring: 通过Spring框架访问Bean。
jsf: 使用JSF的Bean。 (v1.1+)
struts: 使用Struts的FormBean。 (v1.1+)
pageflow: 访问Beehive或Weblogic的PageFlow。 (v1.1+)
常用的3种Creator:
Creator
|
Param
|
User
|
new
|
class
|
类的全名称(包括包路径)
|
scripted
|
language
|
BSF框架支持的脚本语言名称(BSF为apache项目)
|
|
script
|
返回远程对象的脚本,脚本可以指定一些属性,多数情况下一般只设置param节点配置.属性很少设置.
|
spring
|
Location*
|
任何以location开头的参数,每个参数都是指定一个spring的配置文件,在参数没有设置的情况下DWR会去读取spring的全局的配置文件.
|
|
beanName
|
从配置文件中读取的bean的名称
|
new:
<allow>
<create creator="new" javascript="Blah">
<param name="class" value="java.util.Date"/>
</create>
...
</allow>
static: 看官网文档 http://directwebremoting.org/dwr/documentation/server/configuration/dwrxml/creators/index.html#none
none:看官网文档 http://directwebremoting.org/dwr/documentation/server/configuration/dwrxml/creators/index.html#none
scripted:
<allow>
...
<create creator="script" javascript="EmailValidator">
<param name="class" value="org.apache.commons.validator.EmailValidator"/>
<param name="language" value="beanshell"/>
<param name="script">
import org.apache.commons.validator.EmailValidator;
return EmailValidator.getInstance();
</param>
</create>
...
</allow>
Parameter
DWRVersion
Description
language |
1.0 |
The language that we are scripting in. This string is passed to BSF. For example 'beanshell'. (required) |
class |
1.0 |
The type of object that is created. This is required for security reasons. |
script |
1.0 |
The script to execute which will return a Java Object to remote. (required unless scriptPath is used) |
scriptPath |
1.1 |
The path to a script stored in a file. (required unless script is used) |
reloadable |
1.1 |
Should the ScriptedCreator check for changes to scripts loaded using scriptPath? (optional, defaults to true) |
spring:
<allow>
...
<create creator="spring" javascript="Fred">
<param name="beanName" value="Shiela"/>
</create>
...
</allow>
使用location*参数
如果你要在dwr.xml中指定使用哪些bean,你可以使用location*参数。你可以指定任意多个文件,只要参数以location开始并且唯一即可。例如:location-1,location-2。这些location被用做Spring的ClassPathXmlApplicationContext的参数:
<allow>
<createcreator="spring"javascript="Fred">
<paramname="beanName"value="Shiela"/>
<paramname="location"value="beans.xml"/>
</create>
</allow>
直接设置BeanFactory
SpringCreator有一个静态方法setOverrideBeanFactory(BeanFactory)用来通过编程的方式直接设置BeanFactory。
JSF:看官网文档 http://directwebremoting.org/dwr/documentation/server/configuration/dwrxml/creators/index.html#none
Struts:看官网文档 http://directwebremoting.org/dwr/documentation/server/configuration/dwrxml/creators/index.html#none
pageflow:看官网文档 http://directwebremoting.org/dwr/documentation/server/configuration/dwrxml/creators/index.html#none
Converters:
http://directwebremoting.org/dwr/documentation/server/configuration/dwrxml/converters/index.html
分享到:
相关推荐
**DWR配置文件详解** Direct Web Remoting (DWR) 是一种开源的Java库,它允许Web应用程序在客户端JavaScript和服务器端Java之间进行双向通信。DWR的核心配置文件是`dwr.xml`,该文件定义了DWR允许访问的Java对象、...
dwr配置文件是Direct Web Remoting(DWR)的核心组件之一,它负责配置DWR的各种设置和参数。在本文中,我们将详细介绍dwr配置文件的结构和配置方法,并探讨它在实际应用中的作用。 dwr配置文件的结构 -------------...
在DWR配置文件中,主要分为以下几个部分: 1. **DOCTYPE声明**: 首先,`<!DOCTYPE>`声明指定了DWR的文档类型,这是对DWR版本的引用,确保解析器知道如何解析配置文件。在这个例子中,它引用的是DWR 1.0的DTD...
3. **创建DWR配置文件** 创建一个名为`dwr.xml`的文件,放在`WEB-INF`目录下。在这个文件中,你可以定义允许JavaScript调用的Java类和方法。例如: ```xml <dwr> *"/> </dwr> ``` 这里,我们允许...
DWR的另一个特点是支持AJAX的CORS(跨源资源共享),允许不同域的页面调用服务器资源,但需在`web.xml`中正确配置`crossDomainSessionSecurity`参数。 总结来说,DWR通过简化JavaScript与Java的交互,实现了Web应用...
#### 一、DWR配置文件结构与作用 DWR(Direct Web Remoting)是一个开源的Ajax框架,它允许在浏览器端JavaScript代码直接调用服务器端Java方法,从而简化了传统的AJAX编程。DWR.xml是DWR的核心配置文件,用于定义...
2. **创建DWR配置文件**:DWR的核心配置文件通常是`dwr.xml`,它位于Web应用的WEB-INF目录下。在这个文件中,你需要定义哪些Java对象(或方法)可以被远程调用。例如: ```xml <dwr> </dwr> ``` 这里...
**SSH + DWR配置** 配置SSH与DWR的集成通常涉及到以下几个步骤: 1. **添加依赖**:在项目中添加DWR相关的jar包,包括dwr.jar以及其依赖的库文件。 2. **配置web.xml**:在Web应用的配置文件中,需要配置DWR的...
其中`<init-param>`标签用于设置DWR的配置参数,例如`debug`参数用来开启或关闭调试模式。在示例中,`debug`参数值为`true`,表示开启调试。另外,注释掉的部分`<init-param>`涉及跨域会话安全,如果需要允许跨域...
首先,我们需要在`web.xml`中进行基本的DWR配置。最基本的配置包括定义一个名为`dwr-invoker`的Servlet,指向`uk.ltd.getahead.dwr.DWRServlet`的类。这样,所有以`/dwr/*`开头的URL请求都将被DWRServlet处理。例如...
### DWR配置文件详解 #### 一、基本概念与术语 在深入了解DWR配置文件之前,我们首先需要明确几个核心概念: 1. **参数转换**(Conversion):DWR能够处理客户端与服务器端的数据交互,这包括将客户端的...
在配置DWR时,需要在web.xml中添加DWR的servlet配置,包括servlet的名称、servlet类以及初始化参数。在初始化参数中,可以设置debug模式、跨域会话安全性以及是否激活反向Ajax(即推送技术)。debug模式在开发阶段...
在DWR配置中, dwr.xml 文件扮演着核心角色,它负责定义远程Bean的配置信息,包括创造器、参数、范围、身份验证等。 ### 术语 在DWR配置中,有一些重要的术语需要理解: * 参数(Parameter):在DWR中,参数是指...
### DWR配置与使用详解 #### 一、DWR简介 DWR,全称为Direct Web Remoting,是一种专为Java开发者设计的AJAX框架。它通过简化JavaScript与Java后端服务之间的交互,使得前端开发人员能够如同调用本地JavaScript...
DWR配置详解 DWR(Direct Web Remoting)是一种基于Java的AJAX框架,用于实现Web应用程序的远程方法调用。下面是DWR配置的详细解释: 一、配置环境 1. 导入DWR的依赖jar包,包括dwr.jar和commons-logging.jar。 2...
#### 一、DWR框架简介与配置 DWR(Direct Web Remoting)是一个用于简化Ajax应用开发的框架,它可以让客户端JavaScript代码直接调用服务器端Java方法,从而大大简化了前端与后端的交互过程。DWR的主要特点包括:...
【DWR配置文件详解】 DWR(Direct Web Remoting)是一种强大的AJAX(Asynchronous JavaScript and XML)框架,专门用于Java开发,它允许在Web浏览器中通过JavaScript直接调用后台的Java方法,实现了客户端和服务器...
DWR.xml文件是DWR框架的核心配置,它定义了哪些服务器端的Java对象可以被JavaScript访问,以及这些对象的映射、安全设置和其他配置选项。通过配置这个文件,开发者可以精细控制DWR的行为,比如设置安全策略、URL映射...
此外,优化DWR配置,如调整缓存策略,可以提升应用性能。 7. **测试与调试**:完成配置后,通过JavaScript调用服务器端的方法进行测试,确保DWR工作正常。同时,开启调试模式可以帮助诊断任何可能出现的问题。 DWR...