`

如何获取spring mvc中的拦截器的bean

    博客分类:
  • Java
阅读更多
举个例子Test2Interceptor要获取TestInterceptor来操作
<mvc:interceptors>
	<mvc:interceptor>
		<mvc:mapping path="/**"/>
		<bean class="com.xxx.TestInterceptor">	
		</bean>
	</mvc:interceptor>
        <mvc:interceptor>
		<mvc:mapping path="/**"/>
		<bean class="com.xxx.Test2Interceptor">		
		</bean>
	</mvc:interceptor>
</mvc:interceptors>

public class TestInterceptor implements HandlerInterceptor {

}

public class Test2Interceptor implements HandlerInterceptor,ApplicationContextAware {
        private ApplicationContext applicationContext;
        public boolean preHandle(HttpServletRequest request,
			HttpServletResponse response, Object object) throws Exception {
Map<String,MappedInterceptor> map = applicationContext.getBeansOfType(MappedInterceptor.class);
		for(MappedInterceptor m : map.values()) {
			if(m.getInterceptor() instanceof TestInterceptor) {
				System.out.println(m.getInterceptor());
			}
		}
        }
       public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
		this.applicationContext = applicationContext;
		
	}
}

得出原来spring mvc把<mvc:interceptors>配置的bean放到MappedInterceptor实例中
咱们看下MappedInterceptor源码
public final class MappedInterceptor {

	private final String[] includePatterns;

	private final String[] excludePatterns;

	private final HandlerInterceptor interceptor;
//省略
}

这里得出MappedInterceptor 持有HandlerInterceptor实例对象,HandlerInterceptor也就是我们刚刚写的拦截器的要实践的接口。
这样我们就明白了,大功告成。
分享到:
评论

相关推荐

    Spring MVC 拦截器入门例子

    Spring MVC 拦截器是基于Java的Web开发框架Spring MVC中的一个重要组件,它允许开发者在请求被控制器处理之前或之后执行自定义逻辑。拦截器主要用于实现通用功能,如权限验证、日志记录、性能监控等,从而提高代码的...

    Spring MVC 拦截器

    - XML配置:在Spring的配置文件中,通过`&lt;mvc:interceptors&gt;`标签来定义拦截器,然后在`&lt;bean&gt;`中定义具体的拦截器实例,通过`&lt;mvc:mapping&gt;`指定需要拦截的URL。 - 注解配置:使用`@EnableWebMvc`开启Web MVC配置...

    java之spring mvc之拦截器.docx

    在Spring MVC框架中,拦截器(Interceptor)是一个强大的工具,用于在请求被控制器处理之前、之后以及视图渲染之后执行一些额外的操作。拦截器通过实现`HandlerInterceptor`接口或者继承`HandlerInterceptorAdapter`...

    spring mvc 拦截器获取请求数据信息.rar

    添加`&lt;mvc:interceptors&gt;`元素,并在其中定义你的拦截器bean。 最后,需要注意的是,由于“将流多次运用”的描述,这里可能涉及到流的处理。在处理HTTP请求时,特别是涉及文件上传时,确保正确地管理和关闭输入/...

    Spring MVC 教程快速入门 深入分析

    十七、Spring MVC如何取得Spring管理的bean:阐述了如何在Spring MVC中获取Spring容器管理的Bean,以便进行业务处理。 十八、Spring MVC多视图控制器:解释了如何配置和使用Spring MVC的多视图控制器来处理不同的...

    spring mvc xml配置拦截器

    下面将详细介绍创建和配置Spring MVC拦截器的步骤。 1. **创建自定义拦截器** 首先,我们需要创建一个实现`HandlerInterceptor`接口的类。这个接口包含三个方法: - `preHandle(HttpServletRequest request, ...

    Spring MVC入门教程

    九、spring mvc 中的拦截器: 十、spring mvc 如何使用拦截器? 十一、spring mvc 如何实现全局的异常处理? 十二、spring mvc 如何把全局异常记录到日志中? 十三、如何给spring3 MVC中的Action做JUnit单元测试? ...

    Spring MVC 教程 快速入门 深入分析

    九、spring mvc 中的拦截器: 十、spring mvc 如何使用拦截器? 十一、spring mvc 如何实现全局的异常处理? 十二、spring mvc 如何把全局异常记录到日志中? 十三、如何给spring3 MVC中的Action做JUnit单元测试? ...

    Spring拦截器,高级参数绑定

    Spring MVC中的拦截器是基于AOP(面向切面编程)原理实现的,可以理解为对Controller方法调用的预处理和后处理。下面将详细探讨Spring拦截器的使用以及高级参数绑定和Controller返回值的相关知识。 首先,我们创建...

    spring配置JSON拦截器VIEW

    在Spring MVC中,我们可以通过实现HandlerInterceptor接口或者继承HandlerInterceptorAdapter类来创建自定义拦截器。拦截器的主要方法包括preHandle、postHandle和afterCompletion,分别在请求处理前、处理后以及...

    spring mvc

    在 Spring MVC 中使用拦截器需要以下步骤: 1. **定义拦截器类**:实现 `HandlerInterceptor` 接口或继承 `HandlerInterceptorAdapter` 类。 2. **注册拦截器**:在配置文件中注册拦截器,指定需要拦截的 URL 模式。...

    spring mvc jar包

    `org.springframework.web-3.0.2.RELEASE.jar`:这个库包含了一些 Web 相关的支持类,如 Web 应用上下文(WebApplicationContext)、HTTP 拦截器(HandlerInterceptor)和请求映射(RequestMapping)等,它们与 MVC ...

    Spring mvc5.0.3 所有jar包

    9. **拦截器(Interceptor)**: Spring MVC允许自定义拦截器,可以在请求处理前或后执行一些通用逻辑,如权限检查、日志记录等。 10. **异常处理**: 可以全局或局部地配置异常处理器,将异常转换为特定的视图或HTTP...

    Spring mvc 教程

    - **获取时区信息**:Spring MVC 提供了获取用户时区的功能。 - **解析器**:包括 AcceptHeaderLocaleResolver、CookieLocaleResolver 和 SessionLocaleResolver。 - **地区更改拦截器 LocaleChangeInterceptor**:...

    SpringMvc 拦截器

    本文将深入探讨Spring MVC拦截器的原理、配置以及如何创建自定义拦截器。 首先,了解拦截器的基本概念。拦截器是AOP(面向切面编程)思想在Spring MVC中的体现,它通过在请求到达目标控制器之前插入额外的处理步骤...

    《精通Spring MVC 4》源码

    源码中可以发现它如何处理请求映射、拦截器链以及异常处理。 Controller接口是Spring MVC中的关键角色,它定义了业务逻辑和视图之间的交互。开发者通常会实现这个接口或使用@Controller注解的类来处理请求。在源码...

    Spring MVC 3 结合DWZ 框架编写拦截器判断session是否过期

    通过`&lt;mvc:interceptors&gt;`标签,我们可以添加自定义的拦截器bean。 ```xml &lt;mvc:interceptors&gt; &lt;bean class="com.shzx.adapter.SessionInterceptor" /&gt; &lt;/mvc:interceptors&gt; ``` 总结一下,本篇文章介绍了如何在...

    spring mvc 3_demo

    虽然这个示例是注解驱动的,但通常还需要一个配置类来启用Spring MVC,如`WebMvcConfigurerAdapter`的子类,配置拦截器、视图解析器等。然而,Spring Boot项目通常不再需要显式配置。 8. **依赖注入**: Spring ...

    Spring MVC 基础实例源码01

    12. **Interceptor**:拦截器,允许在请求处理前后执行自定义逻辑,如日志记录、权限检查等。 13. **View Technologies**:Spring MVC支持多种视图技术,如JSP、Thymeleaf、FreeMarker等,可以根据项目需求选择。 ...

Global site tag (gtag.js) - Google Analytics