`

springMVC的HandlerInterceptor拦截器

 
阅读更多

springMVC的拦截器,主要作用是对用户的请求进行处理,主要用来做权限验证,或者是来判断用户是否登陆,日志记录,或者限制时间点访问。

使用时请求url若与拦截的路径匹配时,对HttpServletRequest和HttpServletResponse做处理,处理完之后再经过controller拦截进行业务逻辑处理。

一、具体在SpringMVC-servlet.xml的配置如下。

<mvc:interceptors>		
     <mvc:interceptor>
	<mvc:mapping path="/**"/>
	<bean id="sessionInterceptor" class="toutiao.interceptor.SessionInterceptor" />
     </mvc:interceptor>
     <mvc:interceptor>
	<mvc:mapping path="/**"/>
	    <bean class="toutiao.interceptor.AdminInterceptor">
	       <property name="mappingURL" value=".*/admin/.*"/>
	   </bean>
     </mvc:interceptor>
		
</mvc:interceptors>

 二、java类必须实现HandlerInterceptor接口。

package org.springframework.web.servlet;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.method.HandlerMethod;
public interface HandlerInterceptor {
	boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
	    throws Exception;
	void postHandle(
			HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView)
			throws Exception;
	void afterCompletion(
			HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
			throws Exception;

}

正常执行顺序:preHandle-》controller—》postHandle—》afterHandle—》view视图

方法介绍:preHandle()预处理 

这样实现的优点,可以对HttpServletRequest做预处理,实现某种功能。

分享到:
评论

相关推荐

    浅谈SpringMVC HandlerInterceptor诡异问题排查

    首先,需要检查HandlerInterceptor的配置是否正确,是否正确地注册了拦截器。其次,需要检查ThreadLocal的使用是否正确,是否正确地清理了ThreadLocal的资源。 五、结论 在本文中,我们主要介绍了如何排查...

    springMVC拦截器HandlerInterceptor用法代码示例

    "springMVC拦截器HandlerInterceptor用法代码示例" springMVC拦截器HandlerInterceptor是一种非常重要的技术,它可以帮助我们拦截用户的请求,从而知道页面请求的是哪个class的哪个方法。本文将详细介绍springMVC...

    SpringMVC配置拦截器实现登录控制的方法

    拦截器需要实现HandlerInterceptor接口,并重写preHandle、postHandle和afterCompletion三个方法。preHandle方法在处理器执行前被调用,postHandle方法在处理器执行后、生成视图前被调用,afterCompletion方法在整个...

    Springmvc登录拦截器Demo

    在Spring MVC框架中,登录拦截器是一个非常关键的组件,它负责在用户访问特定资源之前进行身份验证。本文将深入探讨如何使用Spring MVC的拦截器实现登录验证,并提供相关知识点。 1. **Spring MVC 拦截器简介** ...

    SpringMvc自定义拦截器(注解)代码实例

    首先,自定义拦截器需要实现Spring MVC提供的`HandlerInterceptor`接口。这个接口定义了三个关键方法: 1. `preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)`: 这是在请求被...

    springMVC拦截器项目

    SpringMVC 拦截器项目是一个典型的 Web 应用开发示例,它利用 SpringMVC 框架中的拦截器(Interceptor)机制来实现特定的功能,如权限控制、日志记录、性能统计等。SpringMVC 是 Spring 框架的一部分,专为构建基于 ...

    SpringMVC拦截器例子详解

    - 自定义拦截器需要继承`HandlerInterceptor` 或 `HandlerInterceptorAdapter` 类,并重写相关方法。 - `preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)`:在请求处理之前...

    SpringMVC - 拦截器

    下面将详细介绍 SpringMVC 拦截器的工作原理、创建与配置方法,以及如何应用到实际项目中。 1. **工作原理** - 在 SpringMVC 中,拦截器是基于 HandlerMapping 和 HandlerAdapter 的概念实现的。当一个请求到达时...

    SpringMVC-12 拦截器

    在本教程“SpringMVC-12 拦截器”中,我们将深入探讨如何实现和配置自定义拦截器,以及多个拦截器的执行顺序。 首先,我们来了解如何创建一个自定义的拦截器。在Spring MVC中,我们需要创建一个实现了`...

    SpringMvc 拦截器

    Spring MVC的拦截器基于Servlet API的Filter和HandlerInterceptor接口,但相比Filter,Interceptor更关注于业务逻辑,更易于与Spring MVC的其他组件集成。 接下来,我们来创建一个简单的自定义拦截器。首先,我们...

    SpringMVC拦截器源代码.zip

    这个名为“SpringMVC拦截器源代码.zip”的压缩包可能包含了Spring MVC拦截器的实现源码,这对于理解和学习如何自定义拦截器以增强应用功能非常有帮助。 1. **拦截器的基本概念** - 拦截器是AOP(面向切面编程)的...

    SpringMVC 拦截器 实现 登录退出功能

    SpringMVC的拦截器是基于Servlet的Filter机制扩展而来的,它通过`HandlerInterceptor`接口实现。这个接口定义了三个方法:`preHandle()`、`postHandle()` 和 `afterCompletion()`。当一个请求到达时,SpringMVC会...

    SpringMVC自定义拦截器实现过程详解

    在SpringMVC框架中,拦截器是通过实现HandlerInterceptor接口来实现的。 在使用拦截器时,需要在web.xml文件中配置DispatcherServlet,并在springmvc-servlet.xml文件中配置拦截器。下面是一个自定义拦截器的示例:...

    springmvc 拦截器

    拦截器是Spring MVC框架中的一部分,它遵循HandlerInterceptor接口,包含三个关键方法:preHandle、postHandle和afterCompletion。这些方法会在请求处理的相应阶段被调用。 2. **preHandle方法** 这是拦截器的第一...

    springmvc拦截器实现登录验证

    1. **定义拦截器类**:创建一个实现了Spring MVC的`HandlerInterceptor`接口的类,或者继承`HandlerInterceptorAdapter`抽象类。在这个类中,你需要重写`preHandle()`方法,进行登录验证逻辑。 2. **实现登录验证...

    SpringMVC的拦截器(Interceptor)和过滤器(Filter)的区别与联系

    拦截器的实现基于`HandlerInterceptor`接口,包含三个方法: - `preHandle`: 在请求被控制器处理之前调用,返回值为布尔类型,如果返回`true`,则继续执行后续拦截器和控制器;如果返回`false`,则中断执行链。 - `...

    SSM笔记-SpringMVC的自定义拦截器

    在SpringMVC框架中,拦截器(Interceptor)是一种强大的机制,它可以用来在请求处理之前、之后或处理过程中执行额外的逻辑。自定义拦截器允许开发者根据业务需求进行更精细的控制,例如权限验证、日志记录、性能统计...

    SpringMVC拦截器源码.rar

    SpringMVC拦截器是基于AOP(面向切面编程)的概念实现的,它们遵循HandlerInterceptor接口。这个接口定义了三个方法: 1. `preHandle`: 在请求被处理器处理之前调用,返回`true`表示继续执行处理器,`false`则中断...

    SpringMVC+Mybatis+Mysql+权限+拦截器的整合实例 源码程序

    这通常通过拦截器实现,比如SpringMVC中的HandlerInterceptor,可以在请求处理前进行预处理,如检查用户权限。 拦截器(Interceptor)是SpringMVC中的一种机制,它可以拦截并处理HTTP请求,提供诸如日志记录、性能...

    SpringMVC 中的拦截器与异常处理

    通过实现`HandlerInterceptor`接口或者继承`HandlerInterceptorAdapter`抽象类,开发者可以定义自己的拦截器。拦截器通常用于实现如登录检查、权限验证、日志记录、性能统计等跨切面的功能。 1. 拦截器的注册:拦截...

Global site tag (gtag.js) - Google Analytics