(3条消息)Spring之过滤器代理DelegatingFilterProxy - kylinah的博客 - CSDN博客

org.springframework.web.filter.DelegatingFilterProxy是Spring实现的一个过滤器代理,通过这个过滤器代理,Spring可以将过滤器纳入Spring的管理范围,这样过滤器中就可以直接使用注解注入Spring容器中的对象。

接着,我将通过一个示例来介绍DelegatingFilterProxy的使用。

示例步骤一:

创建过滤器,并添加到Spring的配置文件中,例如创建了SecurityFilter的过滤器,那么需要在Spring的配置中添加一下内容。

<bean id=_"securityFilter"_class=_"cn.xujh.filter.SecurityFilter"_/>

示例步骤二:

在web.xml中配置DelegatingFilterProxy,spring支持两种配置方式。

方式一:过滤器的名称与Spring配置文件中设定的过滤器bean的名称一致。

方式二:使用初始化参数targetBeanName来配置过滤器名称

注意:如果要保留Filter原有的init,destroy方法的调用,还需要配置初始化参数targetFilterLifecycle为true,该参数默认为false。

如果我们不想使用Spring提供的过滤器代理,那么也可以通过以下方式获取Spring容器中的对象引用:

    //获取WebApplicationContext对象

WebApplicationContext wac =null;

    //方式一:

    wac= (WebApplicationContext)sc.getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);

    //方式二:

    wac =WebApplicationContextUtils._getWebApplicationContext_(sc);


Original url: Access
Created at: 2019-03-13 16:46:09
Category: default
Tags: none

请先后发表评论
  • 最新评论
  • 总共1条评论
DeepMind

Rain酱

Delegating 委托代理模式

2019-03-13 17:17:14 回复