`

Spring3 配置拦截器,HandlerInterceptorAdapter

 
阅读更多

自己的拦截器需要继承org.springframework.web.servlet.handler.HandlerInterceptorAdapter, 根据自己的业务需求复写其的几个方法  

 


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

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;

/**
 * 用户登录会话校验
 *
 */
public class LoginInterceptor extends HandlerInterceptorAdapter  {
    private String mappingURL;
    public void setMappingURL(String mappingURL) {
        this.mappingURL = mappingURL;
    }
    
    
    /**
     * 在DispatcherServlet完全处理完请求后被调用
     */
    @Override
    public void afterCompletion(HttpServletRequest arg0,
            HttpServletResponse arg1, Object arg2, Exception arg3)
            throws Exception {
       System.out.println("--afterCompletion");
        // TODO Auto-generated method stub
        
    }
    
    
    /**
     * 在业务处理器处理请求执行完成后,生成视图之前执行的动作
     */
    @Override
    public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,
            Object arg2, ModelAndView arg3) throws Exception {
        System.out.println("--postHandle");
        // TODO Auto-generated method stub
        
    }
    
    
    /**
     * 在业务处理之前调用
     */
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response,Object arg2) throws Exception {
        System.out.println("--preHandle");
        String url=request.getRequestURL().toString();   
        
        
//       // UserInfo userInfo = (UserInfo) request.getSession().getAttribute( "userInfo");
//        if (mappingURL == null || !url.matches(mappingURL)) {
//            response.sendRedirect("/login.htm");
//            return false;
//        }     
        return true; 
    }

}

 

 

 

 

applicationContext.xml内添加:

 

<!-- 拦截器 -->
    <mvc:interceptors>
		<mvc:interceptor>
			<mvc:mapping path="/student/*"/>
			<bean class="com.sunivo.framwork.demo.LoginInterceptor" />
		</mvc:interceptor>
	</mvc:interceptors>
 

 

 

 

 

分享到:
评论

相关推荐

    spring配置JSON拦截器VIEW

    标题中的“spring配置JSON拦截器VIEW”指的是在Spring框架中设置JSON数据的处理方式,特别是通过拦截器(Interceptor)来优化视图层(View)的响应。在Web开发中,拦截器是一种常用的机制,用于在请求被实际处理之前...

    Spring拦截器,高级参数绑定

    首先,我们创建一个Spring拦截器需要实现HandlerInterceptor接口或继承HandlerInterceptorAdapter抽象类。以下是一个简单的拦截器示例: ```java import org.springframework.web.servlet.HandlerInterceptor; ...

    Spring MVC 拦截器

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

    spring MVC(新增拦截器demo)

    3. **注册拦截器**:在Spring MVC配置中,我们需要将自定义的拦截器注册到`HandlerInterceptorAdapter`或者`WebMvcConfigurer`的`addInterceptors`方法中。例如: ```java @Configuration public class ...

    spring boot配置拦截器代码实例

    Spring Boot 配置拦截器代码实例 Spring Boot 框架提供了强大的拦截器机制,允许开发者在请求处理之前、之后或抛出异常时执行特定的逻辑。拦截器可以用来实现身份验证、日志记录、缓存处理等功能。本文将详细介绍 ...

    SpringMVC拦截器例子详解

    下面将详细解释Spring MVC拦截器的工作原理、配置和实际应用。 1. **工作原理**: - 拦截器是基于AOP(面向切面编程)思想实现的,它通过预处理器和后处理器模式,对HTTP请求进行拦截。 - 当一个请求到达Spring ...

    java之spring mvc之拦截器.docx

    在Spring MVC框架中,拦截器(Interceptor)是一个...通过以上描述,我们可以了解到Spring MVC中的拦截器机制以及如何自定义和配置拦截器来实现特定的功能。这为开发者提供了灵活的手段来增强应用程序的功能和安全性。

    spring mvc拦截器过滤json中的null值

    完成拦截器实现后,我们需要在Spring MVC配置中注册它。在`WebMvcConfigurer`的实现类中添加以下代码: ```java @Configuration @EnableWebMvc public class WebConfig implements WebMvcConfigurer { @Override ...

    spring aop 拦截器简单实现

    在Spring AOP中,拦截器扮演着关键角色。它是一个实现了`org.springframework.aop.MethodBeforeAdvice`、`org.springframework.aop.AfterReturningAdvice`或`org.springframework.aop.ThrowsAdvice`等接口的对象,...

    详解Spring AOP 拦截器的基本实现

    通过在Spring MVC的配置文件中使用元素来声明拦截器。 在Spring中,拦截器一般通过实现HandlerInterceptor接口或者继承HandlerInterceptorAdapter类来实现。HandlerInterceptor接口包括三个方法:preHandle、...

    springboot拦截器实现拦截器 权限校验,登录demo

    接下来,我们需要配置Spring Boot应用使用我们刚刚创建的拦截器。这通常在WebMvcConfigurer接口的实现类中完成: ```java import org.springframework.context.annotation.Configuration; import org.spring...

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

    为了在项目中使用这个拦截器,你需要将其配置到Spring MVC的DispatcherServlet配置中,通常在`web.xml`或Spring的配置文件中。添加`&lt;mvc:interceptors&gt;`元素,并在其中定义你的拦截器bean。 最后,需要注意的是,...

    Springboot拦截器进行拦截请求的一系列操作演示.docx

    当请求到达时,Spring MVC的`DispatcherServlet`会根据配置好的拦截器链进行处理。在过滤器(Filter)处理完之后,Spring MVC的拦截器开始介入,按照添加顺序逐个调用`preHandle`方法。如果所有拦截器都允许继续,...

    spring boot的拦截器简单使用示例代码

    在Spring Boot中,拦截器主要有两种类型:HandlerInterceptorAdapter和WebMvcConfigurerAdapter。 HandlerInterceptorAdapter是一个抽象类,提供了三个方法:preHandle、postHandle和afterCompletion。preHandle...

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

    在本篇文章中,我们将深入探讨Spring MVC中的拦截器机制,了解其工作原理、如何配置以及实际应用场景。 首先,我们来解释一下什么是拦截器。在Web应用开发中,拦截器是一种设计模式,它可以对请求进行预处理和后...

    详解Spring MVC拦截器实现session控制

    例如,在Spring MVC中创建拦截器通常需要在某个包(例如com.geloin.spring.interceptor)下添加拦截器类,并使其继承HandlerInterceptorAdapter类。这个适配器类实现了HandlerInterceptor接口,并提供了空的默认实现...

    SpringBoot拦截器

    - **注册拦截器:** 在Spring Boot中,通常通过`@Configuration`注解的类,使用`@EnableWebMvc`或`@WebMvcConfigurer`来配置拦截器。然后在类中重写`addInterceptors()`方法,添加自定义的拦截器实例。 - **编写...

    springmvc(自定义拦截器的使用)

    在Spring MVC的配置文件中,你需要使用`&lt;mvc:interceptors&gt;`标签来定义拦截器集合。每个拦截器可以由`&lt;mvc:interceptor&gt;`标签定义,并通过`&lt;mvc:mapping&gt;`指定其匹配的URL路径。 ```xml &lt;!-- 配置自定义拦截器 --...

    springmvc传值对象及拦截器

    Spring MVC的拦截器基于AOP(面向切面编程)原理,它们通过实现`HandlerInterceptor`接口或继承`HandlerInterceptorAdapter`抽象类来定义。拦截器链的概念使得多个拦截器可以按照特定顺序执行,每个拦截器都可以决定...

Global site tag (gtag.js) - Google Analytics