`

SpringMVC——interceptor使用

 
阅读更多

Spring 拦截器

    Spring的HandlerMapping 处理器支持拦截器应用。当需要为某些请求提供特殊功能时,例如对用户进行身份认证,或者记录日志,拦截器非常适用。

 

Spring中 定义一个拦截器必须实现HandlerInterceptor接口,这个接口

 

public class MyInterceptor implements HandlerInterceptor {
	public void afterCompletion(HttpServletRequest arg0,
			HttpServletResponse arg1, Object arg2, Exception arg3)
			throws Exception {
		// 整个请求处理完毕后调用,如性能监控中我们可以在此记录结束时间并输出消耗时间,还可以进行一些资源清理。
		// 只有preHandle返回true时才会执行afterCompletion方法
	}

	public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,
			Object arg2, ModelAndView arg3) throws Exception {
		// 处理器执行后,视图处理前调用。此时可以通过modelAndView对象对模型进行处理或对视图进行处理
	}

	public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1,
			Object arg2) throws Exception {
		// 处理器执行前被调用。方法返回true表示会继续调用其他拦截器和处理器
		// 返回false表示中断流程,不会执行后续拦截器和处理器
		return false;
	}
}

注意:自定义拦截器时,实现HandlerInterceptor接口需要实现以上3个方法,如果只需要某一个方法可以继承HandlerInterceptorAdapter. 

 

 

定义完拦截器后,接下来就是在配置文件中对拦截器进行配置。

 

	<mvc:interceptors>
		<mvc:interceptor>
			<mvc:mapping path="/demo/*" /><!--要进行拦截的请求-->
			<mvc:exclude-mapping path="/login/*" /><!--不需要进行拦截的请求-->
			<bean class="com.tarena.web.AccessInterceptor" />
		</mvc:interceptor>
		<mvc:interceptor>
			<mvc:mapping path="/**" />
			<mvc:exclude-mapping path="/login/*" />
			<bean class="com.tarena.web.DemoInterceptor" />
		</mvc:interceptor>
	</mvc:interceptors>

 

 

 

分享到:
评论

相关推荐

    SpringMVC——demo

    【SpringMVC——demo】 SpringMVC是Spring框架的一个核心模块,主要用于构建Web应用程序。它是一种基于模型-视图-控制器(MVC)设计模式的轻量级Java Web开发框架,能够有效地分离业务逻辑和展示逻辑,使得代码更加...

    SpringMVC学习(一)——SpringMVC入门小程序

    在“SpringMVC学习(一)——SpringMVC入门小程序”中,我们首先会接触到SpringMVC的基本概念。这通常包括以下几个核心组件: 1. **DispatcherServlet**:这是SpringMVC的前端控制器,负责接收HTTP请求,并根据配置...

    java面试——SpringMVC面试专题.zip

    SpringMVC是Java web开发中的一个核心框架,它在企业级应用中被广泛使用,因此在面试中,对SpringMVC的理解和掌握是衡量开发者能力的重要标准。本篇将深入探讨SpringMVC的相关知识点,帮助你更好地准备Java面试。 1...

    SpringMVC学习(十二)——SpringMVC中的拦截器

    2. 使用Java配置:在`WebMvcConfigurer`接口的实现类中,使用`addInterceptors()`方法添加拦截器。 实际应用场景包括但不限于: 1. 权限验证:在请求处理前检查用户登录状态,未登录时重定向到登录页面。 2. 访问...

    【SpringMVC】 4.3 拦截器(csdn)————程序.pdf

    在SpringMVC框架中,拦截器(Interceptor)扮演着不可或缺的角色,它允许开发者在请求被处理器处理之前和之后进行额外的操作,如日志记录、权限验证、性能统计等。拦截器机制极大地扩展了SpringMVC的功能,提升了...

    springmvc-high-other-05.rar

    《SpringMVC高级应用探索——其他重要特性》 在Java Web开发领域,SpringMVC作为Spring框架的一部分,因其强大的功能和灵活的配置,已经成为构建Web应用程序的首选框架之一。本资料"springmvc-high-other-05.rar...

    最容易理解的SpringMVC代码

    通过实践,你将更好地掌握如何使用ModelAndView来组织和传递Web应用的数据,以及如何利用SpringMVC的其他功能,如拦截器(Interceptor)、视图解析器(ViewResolver)等。 在压缩包文件"spring_1"中,可能包含了...

    源代码下载 第五章 处理器拦截器详解——跟着开涛学SpringMVC

    1. 创建Interceptor类:你需要实现SpringMVC提供的`HandlerInterceptor`接口,或者继承`AbstractHandlerInterceptor`抽象类。这个类需要包含三个方法:`preHandle()`, `postHandle()`, 和 `afterCompletion()`。这些...

    springmvc系列教程PDF精讲.

    11. **拦截器(Interceptor)**:介绍SpringMVC的拦截器机制,允许在请求处理前后执行自定义逻辑,如权限检查、日志记录等。 12. **上传下载**:学习处理文件上传和下载的控制器方法,包括使用...

    SpringMVC.docx

    5. **拦截器机制**:Struts2有自己独特的拦截器(Interceptor)机制,而SpringMVC采用AOP(面向切面编程)的方式实现拦截功能。 #### 五、SpringMVC的优势 - **灵活性**:SpringMVC允许开发者自由选择视图技术,如...

    springMVC从基础到精通的五个案例

    这通常会涵盖SpringMVC的基础设置,包括配置Servlet容器(如Tomcat),添加SpringMVC的依赖到项目中,以及配置SpringMVC的核心组件——DispatcherServlet。在这个阶段,你会学习如何创建一个简单的Hello World应用...

    SpringMVC项目:ALL

    JavaWeb框架——SpringMVC学习过程前端控制器、视图解析器@Controller@RequestMapping(value、method、params)获取请求参数域对象共享数据视图前缀RESTFul文件上传下载拦截器Interceptor异常处理Excepton

    SpringMVC拦截器——实现登录验证拦截器的示例代码

    在Spring MVC框架中,拦截器(Interceptor)是一种用于处理请求和响应之间通用逻辑的机制,例如权限检查、日志记录等。本示例主要展示了如何创建一个登录验证拦截器,确保只有登录过的用户才能访问特定的页面。 ...

    Java进阶之SpringMVC应用共16页.pdf.zi

    1. **依赖注入(Dependency Injection, DI)**:SpringMVC的基础是Spring框架的核心特性——依赖注入,它允许对象之间的关系在运行时动态配置,而不是硬编码在类内部。这提高了代码的可测试性和可维护性。 2. **...

    springmvc 的开发教程示例

    - MVC 模式:这是一种设计模式,将应用程序分为三个主要部分——模型、视图和控制器,以实现业务逻辑与用户界面的分离。 - Spring MVC 的角色:它提供了一种灵活的方式来实现 MVC 模式,包括请求分发、数据绑定、...

    SSM项目 拦截器(csdn)————程序.pdf

    过滤器是servlet规范的一部分,任何Java Web工程都可以使用,而拦截器是SpringMVC框架自己的,只有使用了SpringMVC框架的工程才能使用。过滤器可以拦截所有资源,而拦截器只会拦截访问的控制器方法。 SSM项目中的...

    springMVC3.0.5jar包

    1. **依赖注入(Dependency Injection,DI)**:Spring MVC 基于 Spring 框架,因此继承了其核心功能——依赖注入。这使得开发者可以在不硬编码依赖关系的情况下,通过配置或注解来管理对象的依赖。 2. **...

    SpringMVC精品资源--hospital management system project is devel.zip

    【SpringMVC精品资源——医院管理系统项目开发】 在IT行业中,SpringMVC是Spring框架的一个重要组成部分,专门用于构建Web应用程序。它是一个Model-View-Controller(MVC)架构模式的实现,为开发者提供了强大的...

    SpringMVC精品资源--基于maven的多框架和多视图融合技术(Struts1、Struts2、Spring、.zip

    【SpringMVC精品资源——基于Maven的多框架与多视图融合技术】 SpringMVC是Spring框架的一个重要模块,专门用于构建Web应用程序。它提供了一种模型-视图-控制器(MVC)架构,使得开发者可以将业务逻辑、数据处理和...

    基于springMVC的session拦截器.rar

    在给定的“基于springMVC的session拦截器.rar”压缩包中,我们可能找到了一个实现session拦截器的示例项目——"LoginInterceptorDemo"。 首先,理解Session的概念是至关重要的。Session是Web服务器为特定用户会话...

Global site tag (gtag.js) - Google Analytics