`
maoone2003
  • 浏览: 58431 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

DWR配置记录

    博客分类:
  • Ajax
阅读更多
近日闲来无聊,研究DWR,配置了半天终于搞定,遇到的问题记录一下,呵呵
开发环境:NetBeans6.5/Jdk1.6.10/Tomcat5.5.27/Dwr2.0.5
我的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>
        <!--crossDomainSessionSecurity:设置成false能够从其他域进行请求-->
        <init-param>
            <param-name>crossDomainSessionSecurity</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>allowScriptTagRemoting</param-name>
            <param-value>true</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文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
<dwr>
    <allow>
        <create creator="new" javascript="dwrService">
            <param name="class" value="com.ffms.system.web.DWRService"/>
        </create>
    </allow>
</dwr>


页面部分代码如下:
<script type='text/javascript' src='/FFMS/dwr/interface/dwrService.js'></script>

  //输入到方法中 参数 格式转换
  function objectEval(text){
    text = text.replace(/\n/g, ' ');
    text = text.replace(/\r/g, ' ');
    if (text.match(/^\s*\{.*\}\s*$/))
    {
      text = '[' + text + '][0]';
    }
    return eval(text);
  }
  //本例 alert 展现
  var reply = function(data){
      alert("ssss");
      alert(dwr.util.toDescriptiveString(data, 2));
  }

<html:password styleId="newPwd" property="newPwd" name="SmOperMngForm" maxlength="6" onchange="dwrService.checkPassword(objectEval($('newPwd').value), reply);"/>


java类源码如下:
package com.ffms.system.web;

/**
 * 采用dwr框架进行动态ajax验证
 * @author MalColm Mao
 */
public class DWRService {
    public String checkPassword(String pwd){
        System.out.println("pssswork is ok:" + pwd);
        return "dwr success";
    }
}


主要遇到两个问题:
(1)A request has been denied as a potential CSRF attack
解决该问题在web.xml中如上述设置crossDomainSessionSecurity为false即可
(2)allowScriptTagRemoting is false
解决该问题在web.xml中如上述设置allowScriptTagRemoting为true即可
分享到:
评论
2 楼 yuanyuan7891 2015-02-11  
crossDomainSessionSecurity为false降低了安全性,可能会有CSRF attack 的风险。
1 楼 marswdl 2009-03-02  
兄台水平不错,很好,很强大!

我的QQ:87265817

相关推荐

    dwr配置参考,java编程工具中

    ### DWR配置详解 DWR(Direct Web Remoting)是一种开放源码的JavaScript库与Java服务器端技术结合的解决方案,它允许网页上的JavaScript调用Java方法,并能够将这些调用的结果回传到客户端。这种机制简化了Ajax...

    Ajax讲解,dwr配置

    2. 创建DWR配置文件(通常为dwr.xml):在这个文件中,定义哪些Java类和方法可以被JavaScript调用。 3. 配置Servlet容器:在Web应用的web.xml文件中,配置DWR的Servlet,以便它能在服务器端处理请求。 4. 在...

    DWR笔记 DWR.xml配置文件说明书 DWR技术分析

    4. **错误处理**:DWR提供了丰富的错误处理机制,包括JavaScript端的错误提示和服务器端的日志记录。 5. **版本控制**:DWR通过版本号管理JavaScript接口,当后端API有变化时,可以通过更改版本号强制客户端刷新,...

    dwr所需的jar包及配置

    在这个压缩包中,包含了DWR框架运行所需的一些关键组件和配置文件。 1. **dwr2.0.jar**:这是DWR的核心库文件,包含了所有用于处理客户端请求、反序列化数据、调用服务器端方法等功能的类。DWR 2.0版本提供了一些...

    dwr jar和配置,文档

    这个压缩包包含了使用DWR所需的关键组件和配置文件,以及相关的文档资料。 首先,`dwr.jar` 是DWR的核心库,包含了所有必要的类和接口,用于在客户端JavaScript和服务器端Java之间建立通信。这个JAR文件应该被添加...

    DWR中文文档 (DWR 2.0)

    2. **XML解析错误**:通常与DWR配置文件中的XML语法有关,需要仔细检查XML文件格式。 3. **使用weblogic的类路径问题**:确保DWR库文件正确添加到了WebLogic服务器的类路径中。 4. **没有cookies的情况下使用DWR**:...

    DWR.xml配置文件说明书

    通过`&lt;errorHandler&gt;`标签,你可以自定义DWR遇到错误时的行为,比如返回错误信息,或者记录日志。 6. **预加载和缓存:** DWR支持预加载Java对象和方法定义,提高页面加载速度。`&lt;preload&gt;`和`&lt;cache&gt;`标签可以...

    java dwr 框架源码

    - `.classpath`:这是Eclipse项目的一个配置文件,记录了项目的类路径信息,包括JRE系统库、项目依赖库等。 - `.eos`、`.project`、`eosbuild.properties`、`system.sdvx`:这些可能是特定构建工具或项目配置文件...

    dwr的简单配置与实现

    6. **调试与日志**:DWR提供了详细的日志记录功能,这对于调试和问题排查非常有用。你可以根据需求调整日志级别,以便在开发过程中获取必要的信息。 在实现DWR的过程中,可能会遇到一些常见问题,例如JavaScript...

    dwr+spring 注解方式

    4. **DWR配置**: - `dwr.xml`:虽然可以使用注解减少XML配置,但DWR仍然需要一个基本的XML配置文件,用于设置全局参数和拦截器。 - 在`dwr.xml`中,可以使用`&lt;convert&gt;`标签配置转换器,将Java对象转换为...

    DWR网页聊天例子

    2. **DWR配置** 在使用DWR之前,我们需要在服务器端进行配置。这通常涉及创建`dwr.xml`配置文件,其中定义了哪些Java类和方法可以被JavaScript访问。在这个聊天应用中,我们可能需要配置一个Java类,该类包含处理...

    DWR小代码小例子

    同时,通过日志配置,可以记录DWR的运行信息,帮助排查问题。 通过"TestDWR"这个例子,你可以学习如何设置DWR的基本环境,编写可远程调用的Java类,以及在前端使用DWR提供的JavaScript API进行交互。这是一个很好的...

    dwr实现的分页功能

    - **安全性**:确保DWR配置中只暴露必要的方法,避免敏感信息泄露,同时可以设置过滤机制防止跨站脚本攻击(XSS)。 8. **示例代码** - `PageBean.java`: 包含分页所需的方法,如`getTotalRecords()`和`...

    DWR3.0 jar包API文档

    - **调试与日志**:DWR提供了调试工具和日志记录功能,帮助开发者在开发过程中定位问题。 - **错误处理**:了解如何处理客户端和服务器端的错误,确保在异常情况下能够提供良好的用户体验。 - **性能优化**:学习...

    DWR与SPRING,DWR与STRUTS2的整合

    2. **Spring托管的Java类暴露给JavaScript**:通过Spring的`@Service`或`@Component`注解标记Java类,然后在DWR配置中声明这些类,使它们可被JavaScript调用。 3. **依赖注入**:DWR中的Java对象可以直接利用Spring...

    dwr3ReverseAjax示例

    1. **DWR配置**:首先需要在服务器端配置DWR的`dwr.xml`文件,声明可供JavaScript调用的Java类和方法。这包括设置安全策略、白名单等,确保只有预期的Java对象和方法可以被访问。 2. **Java后端**:创建一个Java类...

    DWR2.0 整合Spring2.0

    4. **配置整合**:在DWR2.0中,通常会有一个`dwr.xml`配置文件来定义Java类和JavaScript接口之间的映射。当与Spring2.0整合时,这部分配置可以被合并到Spring的`applicationContext.xml`中,使得所有配置集中管理,...

    dwr中文文档dwr中文文档dwr中文文档

    - 可以通过配置日志框架(如Log4j)来记录DWR的操作日志。 **2.4 多个dwr.xml配置和J2EE角色定义** - 支持多个`dwr.xml`配置文件,可以定义不同的角色访问不同的服务。 **2.5 插件配置** - 支持各种插件扩展功能,...

    dwr_jar包下载

    `commons-logging.jar`是DWR所依赖的库,用于实现日志记录功能,方便开发者调试和监控应用。 **DwrSpringAnnotations.jar**: `DwrSpringAnnotations.jar`是DWR与Spring框架集成的扩展库。它允许开发者使用Spring的...

Global site tag (gtag.js) - Google Analytics