您的位置:首页 > 其它

org.directwebremoting.servlet.DwrServlet

2012-02-19 22:12 423 查看

org.directwebremoting.servlet.DwrServlet的相关的配置说明

1) 官网下载相关的jar包,dwr.jar

2) 在web.xml中进行配置

<!-- dwr -->
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet- class>

<init-param>
<param-name>crossDomainSessionSecurity</param-name>

<param-value>false</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>

对其中的参数crossDomainSessionSecurity 允许进行跨域的访问,默认是false的,因为这样的话会导致一些风险

安全参数

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攻击)

Ajax服务器加载时保护参数

pollAndCometEnabled

开始版本:2.0

默认值:false

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

maxWaitingThreads

开始版本:2.0

默认值:100

描述:最大等待线程数量。

preStreamWaitTime

开始版本:2.0

默认值:29000(单位:毫秒)

描述:对一个打开流前的反应,等待的最大时间。

postStreamWaitTime

开始版本:2.0

默认值:1000(单位:毫秒)

描述:对一个打开流后的反应,等待的最大时间。

其他参数

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标签。

3) 在WEB-INF下面配置dwr.xml文件

<?xml version="1.0"encoding="UTF-8"?>

<!DOCTYPE dwr PUBLIC "-//GetAheadLimited//DTD Direct Web Remoting 2.0//EN""http://getahead.org/dwr/dwr20.dtd">

<dwr>

<init>

</init>

<allow>

/////////如下可以建立多个

///// staffsService 我们指定这个调用的js的名称,对应的方法在那个类中

<createcreator="new" javascript="staffsService">

<param name=”class”

value=”cn.com.inxite.web.controller.StaffsController”>

</create>

/////当然下面的我们也可以进行配置多个

<!--以下为向javaScript公布的java类 此处以下类型转换 -->

<convert converter="bean"

match="cn.com.inxite.kernel.entity.Staffs"/>

</allow>

</dwr>

3) Jsp 界面的调用

<script type='text/javascript'
src='<%=request.getContextPath()%>/dwr/interface/getTzgw.js'>
</script>
<script type='text/javascript'
src='<%=request.getContextPath()%>/dwr/engine.js'></script>
<script type='text/javascript'
src='<%=request.getContextPath()%>/dwr/util.js'></script>

如上需要导入上面的三个js,对于 getTzgw.js其中,getTzgw 是我们在dwr中需要进行配置的,名称要一致。这样在我们的js中我们就可以调用了例如:

function objFunc(obj){
if(obj==null || obj==''){
return false;
}
getTzgw.method(obj,callbackChangeTzgw);
}

FunctioncallbackChangeTzgw(data){

/////可以根据data的返回类型进行相应的处理

/////或者进行其他的操作,这里也可以在调用其他的dwr的情况再进行异步调用

////该函数为回调函数

}

///////当然我们也可以这么写,对于那些在objFunc方法总得局部变量可能没法

//////传递的情况

function objFunc(obj){
if(obj==null || obj==''){
return false;
}
getTzgw.method(obj,functioncallback(data){
//////在这里可以进行处理
});
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: