`
chengyue2007
  • 浏览: 1489031 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

Dwr过滤器与异常处理

    博客分类:
  • Dwr
阅读更多

只需修改dwr.xml:

<dwr>

   <allow>
      <create javascript="UserService" creator="spring" >
          <param name="beanName" value="userService"></param>    
      </create>

      <!--调用UserService中的方法时将被DWRFilter拦截-->
      <filter class="com.test.filter.DWRFilter"></filter>
      <convert match="com.test.bean.User" converter="bean"></convert>

      <!-调用UserService中的方法返回空对象时,让Dwr报错-->
      <convert match="java.lang.NullPointerException" converter="exception"></convert>
   </allow> 

</dwr>

  

类DWRFilter代码如下:

 

import java.lang.reflect.Method;

import org.directwebremoting.AjaxFilter;
import org.directwebremoting.AjaxFilterChain;
import org.directwebremoting.util.Logger;

public class DWRFilter implements AjaxFilter {

 public Object doFilter(Object object, Method method, Object[] arr,
   AjaxFilterChain chain) throws Exception {
  //System.out.println("拦截目标方法:"+method.getName());
  log.debug("拦截目标方法:"+method.getName());
  Object obj=chain.doFilter(object, method, arr);
  //System.out.println("目标方法"+method.getName()+"执行结束");
  log.debug("目标方法"+method.getName()+"执行结束");
  return obj;
 }
 private static final Logger log=Logger.getLogger(DWRFilter.class);

}

 

 

下面测试Dwr的异常处理:

UserService中有如下方法:

public List testException(List list)
 {
  System.out.println("测试EXCEPTION");
  try {
   list.get(0);
  } catch (Exception e) {
   throw new NullPointerException("空指针异常");
  }
  return list;
 }

JavaScript里通过dwr.xml配置的UserService调用此方法,如果返回对象为null,则Dwr报空指针异常错误:

var list=new Array('abc');
  UserService.testException(list,{
  callback:function(data){alert("正常:"+data[0])},
  exceptionHandler:function(message){alert("异常:"+message)}
  })

 

分享到:
评论

相关推荐

    dwr3api+DWR文档.pdf

    1. **安装与配置**:如何在你的Java应用服务器上集成DWR,配置DWR的XML配置文件(dwr.xml),以及如何在web.xml中设置过滤器和servlet。 2. **基本概念**:解释了Reverse Ajax、C/sweetalert、Batching和Caching等...

    DWR 查询功能测试

    1. **DWR配置**:在Web应用的`web.xml`中配置DWR过滤器和Servlet,定义允许的远程接口和类。同时,需要在DWR配置文件(如`dwr.xml`)中声明要暴露给JavaScript的Java方法。 2. **创建远程接口**:在服务器端创建一...

    DWR2.0 中文手册

    1. **配置与集成**:DWR的配置主要包括在Web应用的`web.xml`中添加过滤器和Servlet,以及在服务器端创建`dwr.xml`配置文件,用于定义哪些Java类和方法可以被JavaScript访问。此外,DWR 2.0支持Spring框架的集成,...

    dwr实现的无刷新技术 dwr+jsp

    1. **DWR配置**:首先,需要在Web应用的`web.xml`配置文件中注册DWR引擎,设置过滤器和Servlet,以便处理与DWR相关的请求。 2. **创建Java类**:在服务器端,你需要创建一个或多个Java类,这些类的方法将被暴露给...

    dwr案例源码

    2. **DWR Engine**:DWR Engine是DWR的核心组件,它管理所有的远程调用和回调,并处理与客户端的通信。 3. **DWR映射**:在`dwr-engine.js`或自定义配置文件中,定义哪些Java类和方法可供JavaScript调用,这是DWR的...

    关于dwr的api的中文官方文档

    2. **使用安全过滤器**:DWR提供了一种名为`CORSFilter`的过滤器,用于处理跨域请求的安全问题。 3. **数据验证**:在服务器端对传入的数据进行验证,防止恶意输入。 **实际应用场景:** DWR常用于创建富客户端...

    dwr+spring集成配置

    在Web应用的`web.xml`中,需要配置DWR的过滤器和servlet,以处理Ajax请求。例如: ```xml &lt;filter-name&gt;DWR Filter &lt;filter-class&gt;org.directwebremoting.servlet.DwrFilter &lt;filter-name&gt;DWR Filter ...

    dwr3.0以及相关中文文档

    9. **进阶主题**:可能包括异步调用、批量调用、CSP(Content Security Policy)支持、自定义过滤器和扩展DWR等功能的深入探讨。 在实际开发中,DWR 3.0的使用者可以通过这个中文文档学习如何创建DWR配置文件,定义...

    DWR3.0.1jar打包

    - **安全过滤**:使用DWR的白名单或安全过滤器来限制可以暴露给客户端的Java方法。 总结起来,DWR3.0.1jar打包涉及了DWR框架的理解、新版本的特点、JAR文件打包的流程以及部署和安全使用DWR的应用实践。对于前端...

    DWR3.0 框架

    9. **可扩展性**:DWR3.0设计时考虑到了可扩展性,允许开发者自定义序列化和反序列化策略,以及添加新的转换器和过滤器。 10. **调试工具**:DWR3.0提供了内置的调试工具,可以帮助开发者在开发过程中快速定位问题...

    dwr增删改查

    配置包括设置DWR的上下文路径、过滤器等。 2. **DWR接口**:在服务器端,创建一个Java接口,该接口包含了增删改查所需的方法。这些方法将被JavaScript调用,执行相应的数据库操作。 3. **DWR映射**:在`dwr.xml`...

    DWR (编辑Table)

    配置DWR通常涉及到在Web应用的部署描述符(web.xml)中添加相关的Servlet和过滤器配置。 8. **版本兼容性**:DWR有多个版本,每个版本可能会有不同的API和特性。了解不同版本之间的差异和兼容性对于维护和升级项目...

    DWR(Ajax)]DWR使用笔记

    在使用DWR前,我们需要在Web应用的`web.xml`中添加DWR的配置,指定`context-param`来启用DWR,并配置安全过滤器以防止跨站脚本攻击。同时,还需要创建一个`dwr-engine.xml`或`dwr.xml`文件,用于定义暴露给...

    dwr.rar_dwr_dwr ajax_dwr 实现 联动 标签

    2. **AJAX与DWR的结合**: AJAX允许页面部分刷新,无需重新加载整个页面即可获取新数据。DWR通过提供一种透明的方式来调用服务器端的Java方法,使得AJAX开发更加直观。开发者可以像调用本地函数一样调用服务器上的...

    ExtJs+ Dwr 页面登入功能

    7. **错误处理**:在前端,应对可能出现的网络错误或服务器异常进行处理,提供友好的错误提示。 通过上述步骤,我们可以利用ExtJs的组件和DWR的实时通信能力,创建出一个功能完善的页面登录功能。这种方式不仅简化...

    ext 与 dwr 的结合

    7. **异常处理和安全性**:DWR提供了异常处理机制,可以捕获和报告服务器端错误。同时,DWR有安全特性,如白名单机制,防止未授权的函数调用。 8. **优化和性能**:在大量数据的场景下,可以使用DWR的批处理和缓存...

    关于dwr及使用

    2. **DWR的配置**:在项目中使用DWR,首先需要在服务器端进行配置,包括在web.xml中配置DWR过滤器和Servlet,以及在项目的类路径下创建dwr.xml配置文件,用于定义允许客户端访问的Java类和方法。 3. **DWR的使用**...

    dwr3 中文示例

    3. **安全机制**:DWR3提供了一套安全措施,包括使用JavaScript安全过滤器防止XSS攻击,以及通过签名和加密来防止CSRF(跨站请求伪造)攻击。 4. **异步调用**:DWR3支持异步调用,允许JavaScript在不阻塞用户界面...

    dwr小程序,自己新写的dwr程序

    1. **安装和配置**:首先,你需要将DWR库添加到你的项目中,配置web.xml文件以设置DWR的Servlet和过滤器。 2. **创建Java接口**:在服务器端,定义一个Java接口,包含你希望在JavaScript中调用的方法。 3. **暴露...

    DWR操作数据库模拟实现Google搜索效果

    1. **设置DWR环境**:在项目中引入DWR库,配置DWR的Context配置文件(dwr.xml),并确保它启用了所需的转换器和服务。 2. **创建Java服务接口**:定义一个Java类,该类包含一个或多个方法,用于执行数据库查询。...

Global site tag (gtag.js) - Google Analytics