`
L.G.Alexander
  • 浏览: 158436 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

六、dwr的过滤器和日志配置

阅读更多
dwr的过滤器和日志配置
1、过滤器使用
利用dwr给我们提供的过滤器,我们只要实现了dwr给我们提供的过滤器的接口,我们就可以在dwr中使用过滤器。看dwr的文档
org.directwebremoting
Interface AjaxFilter
All Known Implementing Classes:
ExecuteAjaxFilter, ExtraLatencyAjaxFilter, H3SessionAjaxFilter

--------------------------------------------------------------------------------

public interface AjaxFilterA filter is a way to insert procesing tasks at various points during the processing of an Ajax call.

Example filters:

Authentication
Latency simulators
Data cleansing - remove private data
Logging filters - when you need specific logging action


Since:
DWR 2.0
Author:
Joe Walker [joe at getahead dot ltd dot uk]

--------------------------------------------------------------------------------

Method Summary
java.lang.Object doFilter(java.lang.Object obj, java.lang.reflect.Method method, java.lang.Object[] params, AjaxFilterChain chain)
          The doFilter method of the AjaxFilter is called by DWR each time an Ajax request is made on a method that this filter is configured against.



我们看到有AjaxFilter接口,dwr给我们提供了三个实现类,我们今天自己来实现AjaxFilter接口,然后在dwr.xml里面配置上我们实现的过滤器就可以实现过滤。这个过滤不同于我们在j2ee规范里面在servlet里面提供的过滤器,虽然实现的功能都是过滤的功能,但是这里必须要实现AjaxFilter接口而不是j2ee规范里面在servlet里面提供的过滤器,所以这个仅仅需要在dwr.xml里面去配置,并不需要在web.xml里面去配置。
看看例子:
package com.lukuijun.filter;
import java.lang.reflect.Method;
import org.directwebremoting.AjaxFilter;
import org.directwebremoting.AjaxFilterChain;
public class DWRFilter implements AjaxFilter {
    /**
     * @param Object object 目标对象
     * @param Method method 目标对象的方法
     * @param Object[] arr 目标对象的参数数组
     * @param AjaxFilterChain chain 过滤器链
     */
public Object doFilter(Object object, Method method, Object[] arr,
AjaxFilterChain chain) throws Exception {
System.out.println("拦截目标方法:" + method.getName());
Object obj = chain.doFilter(object, method, arr);
System.out.println("目标方法" + method.getName() + "执行结束");

return obj;
}
}
用法和servlet里面的过滤器差不多,但是注意一点,如果这个过滤器调用了目标对象的方法,那么返回的时候是返回调用了目标方法它的放回值,如果返回其他值就有可能出现错误。一定是返回目标方法返回的值。
dwr.xml中配置过滤器:
在<create>标签里面配置<filter class="com.lukuijun.filter.DWRFilter"></filter>
运行看看结果:
拦截目标方法:testCrossDomain
跨域成功
目标方法testCrossDomain执行结束
说明我们配置的过滤器拦截到了目标方法,我这个过滤器是针对这个类级别的。我可以对类中的所有方法过滤,只要这个方法是对外公开的。针对全局的过滤器,需要配置在allow标签下。
局部的过滤器和全局的过滤器。dwr官方也不敢保证过滤器的安全性,这个需要我们根据实际情况去处理

2、日志的配置
dwr给我们提供了一些日志,它主要是针对我们如果我们所用的jdk版本如果是1.4以下的版本,因为在1.3的时候,官方没有给我们提供基础的日志配置信息。在用dwr的时候如果我们用的jdk是1.3版本的,那么这个版本过低而且没有日志的信息,所以dwr官方给我们提供了这么一个日志,实现了自己的日志,并不用我们去引入其他的日志包,还有一点,这个日志的配置,官方中采用了如果是jdk1.4及以上版本的话,会采用commons.logging当中的日志信息,commons.logging中的日志信息是apache中的一个项目。这个项目给我们提供了一个通用的日志接口,我们常用的log4j就是实现了接口在它基础上提供的,怎么样在我的应用中配置我的日志,日志配置好后,我可以通过日志查看信息,我们这里的日志,为了方便调试。我们现在希望把dwr源码中调试的一些信息给我们打印出来,给我们看,这些信息对今后研究源码是有帮助的。
a、引入日志包
log4j.jar
commons-logging.jar 给我们提供通用的接口
在src下面
commons-logging.properties里面写一句话
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4jLogger
org.apache.commons.logging.LogFactory=org.apache.commons.logging.impl.Log4jLogger
接着在web.xml里面配置:



















分享到:
评论

相关推荐

    dwr3api+DWR文档.pdf

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

    dwr开发、技术分析、配置使用

    只需要配置相应的拦截器或过滤器,就可以让DWR处理特定的HTTP请求。 **7. 总结** DWR作为一种强大的AJAX解决方案,简化了前后端通信,提高了Web应用的交互性和响应性。了解其工作原理和配置使用方法,可以帮助...

    DWR两个依赖包

    - **安全性**:始终启用DWR的安全过滤器,防止未授权的访问。 - **性能优化**:考虑批量调用和缓存策略,减少网络往返次数。 - **日志管理**:根据项目需求合理配置日志级别,确保调试和故障排查的便利性。 5. *...

    dwr简单例子

    配置包括设置DWR的拦截器、过滤器以及允许访问的类等。 3. **创建可远程调用的Java对象** 要使Java对象可被JavaScript访问,需要在服务器端创建一个Java类,并使用DWR的`@RemoteProxy`注解标记。这个类中的公共...

    DWR中文文档.pdf

    确保DWR过滤器和Struts过滤器按正确的顺序执行。 **4.5 DWR与Weblogic或PageFlow** 对于运行在Weblogic服务器上的应用程序,DWR同样可以提供强大的支持。 **4.6 DWR与Hibernate** Hibernate是一个流行的对象关系...

    dwr中文开发指南文档

    - **主要配置**: 包括DWR过滤器的配置、初始化参数等。 - **常用参数列表**: 如安全性相关的参数、性能优化参数等。 - **日志配置**: 可以配置DWR的日志级别和日志记录机制。 - **多个dwr.xml配置**: 支持多个`...

    关于dwr及使用

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

    dwr+spring 注解方式

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

    Dwr所需jar包及配置文件

    在`dwr.xml`中,你可以指定允许访问的类和方法,还可以配置安全策略,如IP过滤,或者自定义转换器和错误处理器。例如,你可能会看到这样的配置: ```xml ``` 这段配置表示允许JavaScript访问`...

    dwr3.0以及相关中文文档

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

    eclipse下DWR源代码

    3. **日志配置** DWR支持多种日志机制。在没有`java.util.logging`的JDK 1.3环境中,DWR会默认使用`HttpServlet.log()`方法记录日志。如果类路径包含`logging.jar`,DWR会自动切换到使用`logging`进行日志输出。你...

    Dwr的一个基础应用实例,配置

    3. **配置DWR**:在Web应用的web.xml中配置DWR的Servlet和过滤器,定义允许的类和方法。 4. **创建Java类和方法**:编写服务器端的Java类和方法,这些方法将在客户端的JavaScript中被调用。 5. **生成JavaScript接口...

    dwr框架的应用实例

    在使用DWR之前,需要在Web应用的`web.xml`中配置DWR过滤器和Servlet。过滤器确保HTTP请求被正确地路由到DWRServlet,Servlet则处理AJAX请求并返回响应。 3. **创建远程接口** 在服务器端,我们需要创建一个公开给...

    (总)DWR学习下载

    1. **配置**:DWR的配置主要包括在Web应用的`web.xml`中设置过滤器和Servlet,以及在服务器端定义允许的Java类和方法。 2. **安全设置**:确保只允许特定的JavaScript和Java对象进行交互,防止跨站脚本攻击(XSS)和...

    Struts2_Dwr.rar_Struts2_Dwr_dwr_struts2 dwr

    6. `web.xml`:Web应用的部署描述符,配置了Struts2和DWR的过滤器和监听器。 这个项目展示了如何利用Struts2和DWR的强强联合,实现高效、动态的Web应用。通过这个例子,开发者可以学习到如何在实际开发中有效地利用...

    LogViewer(DWR2)

    **标题解析:** "LogViewer(DWR2)" 指的是一个基于DWR2技术的日志查看器示例项目。DWR (Direct Web Remoting) 是一个开源的JavaScript库,它允许Web应用程序在客户端和服务器之间进行实时通信,无需使用Ajax或页面...

    DWR学习资料+PPT

    6. `filters`:添加处理请求和响应的过滤器,可以用于安全检查或日志记录。 **PPT**:这是一套DWR的学习教程,可能包括以下主题: 1. **DWR简介**:讲解DWR的概念、特点和优势。 2. **环境搭建**:演示如何配置...

    DWR中文文档

    - **开始顺序**:确保DWR在Struts过滤器之前被初始化。 ##### 4.5 DWR与Weblogic或PageFlow 探讨在特定应用服务器下DWR的配置和优化。 ##### 4.6 DWR与Hibernate - **让DWR和Hibernate一起工作的检查列表**:确保...

Global site tag (gtag.js) - Google Analytics