自己的拦截器需要继承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数据的处理方式,特别是通过拦截器(Interceptor)来优化视图层(View)的响应。在Web开发中,拦截器是一种常用的机制,用于在请求被实际处理之前...
首先,我们创建一个Spring拦截器需要实现HandlerInterceptor接口或继承HandlerInterceptorAdapter抽象类。以下是一个简单的拦截器示例: ```java import org.springframework.web.servlet.HandlerInterceptor; ...
- XML配置:在Spring的配置文件中,通过`<mvc:interceptors>`标签来定义拦截器,然后在`<bean>`中定义具体的拦截器实例,通过`<mvc:mapping>`指定需要拦截的URL。 - 注解配置:使用`@EnableWebMvc`开启Web MVC配置...
3. **注册拦截器**:在Spring MVC配置中,我们需要将自定义的拦截器注册到`HandlerInterceptorAdapter`或者`WebMvcConfigurer`的`addInterceptors`方法中。例如: ```java @Configuration public class ...
Spring Boot 配置拦截器代码实例 Spring Boot 框架提供了强大的拦截器机制,允许开发者在请求处理之前、之后或抛出异常时执行特定的逻辑。拦截器可以用来实现身份验证、日志记录、缓存处理等功能。本文将详细介绍 ...
下面将详细解释Spring MVC拦截器的工作原理、配置和实际应用。 1. **工作原理**: - 拦截器是基于AOP(面向切面编程)思想实现的,它通过预处理器和后处理器模式,对HTTP请求进行拦截。 - 当一个请求到达Spring ...
在Spring MVC框架中,拦截器(Interceptor)是一个...通过以上描述,我们可以了解到Spring MVC中的拦截器机制以及如何自定义和配置拦截器来实现特定的功能。这为开发者提供了灵活的手段来增强应用程序的功能和安全性。
完成拦截器实现后,我们需要在Spring MVC配置中注册它。在`WebMvcConfigurer`的实现类中添加以下代码: ```java @Configuration @EnableWebMvc public class WebConfig implements WebMvcConfigurer { @Override ...
在Spring AOP中,拦截器扮演着关键角色。它是一个实现了`org.springframework.aop.MethodBeforeAdvice`、`org.springframework.aop.AfterReturningAdvice`或`org.springframework.aop.ThrowsAdvice`等接口的对象,...
通过在Spring MVC的配置文件中使用元素来声明拦截器。 在Spring中,拦截器一般通过实现HandlerInterceptor接口或者继承HandlerInterceptorAdapter类来实现。HandlerInterceptor接口包括三个方法:preHandle、...
接下来,我们需要配置Spring Boot应用使用我们刚刚创建的拦截器。这通常在WebMvcConfigurer接口的实现类中完成: ```java import org.springframework.context.annotation.Configuration; import org.spring...
为了在项目中使用这个拦截器,你需要将其配置到Spring MVC的DispatcherServlet配置中,通常在`web.xml`或Spring的配置文件中。添加`<mvc:interceptors>`元素,并在其中定义你的拦截器bean。 最后,需要注意的是,...
当请求到达时,Spring MVC的`DispatcherServlet`会根据配置好的拦截器链进行处理。在过滤器(Filter)处理完之后,Spring MVC的拦截器开始介入,按照添加顺序逐个调用`preHandle`方法。如果所有拦截器都允许继续,...
在Spring Boot中,拦截器主要有两种类型:HandlerInterceptorAdapter和WebMvcConfigurerAdapter。 HandlerInterceptorAdapter是一个抽象类,提供了三个方法:preHandle、postHandle和afterCompletion。preHandle...
在本篇文章中,我们将深入探讨Spring MVC中的拦截器机制,了解其工作原理、如何配置以及实际应用场景。 首先,我们来解释一下什么是拦截器。在Web应用开发中,拦截器是一种设计模式,它可以对请求进行预处理和后...
例如,在Spring MVC中创建拦截器通常需要在某个包(例如com.geloin.spring.interceptor)下添加拦截器类,并使其继承HandlerInterceptorAdapter类。这个适配器类实现了HandlerInterceptor接口,并提供了空的默认实现...
- **注册拦截器:** 在Spring Boot中,通常通过`@Configuration`注解的类,使用`@EnableWebMvc`或`@WebMvcConfigurer`来配置拦截器。然后在类中重写`addInterceptors()`方法,添加自定义的拦截器实例。 - **编写...
在Spring MVC的配置文件中,你需要使用`<mvc:interceptors>`标签来定义拦截器集合。每个拦截器可以由`<mvc:interceptor>`标签定义,并通过`<mvc:mapping>`指定其匹配的URL路径。 ```xml <!-- 配置自定义拦截器 --...
Spring MVC的拦截器基于AOP(面向切面编程)原理,它们通过实现`HandlerInterceptor`接口或继承`HandlerInterceptorAdapter`抽象类来定义。拦截器链的概念使得多个拦截器可以按照特定顺序执行,每个拦截器都可以决定...