Spring MVC-拦截器
目录
- 概括
- 环境
- 配置拦截器
- 单个拦截器
- 多个拦截器
- 源码
概括
pringMVC中的拦截器用于拦截控制器方法的执行
环境
org.springframework
spring-webmvc
5.3.1
ch.qos.logback
logback-classic
1.2.3
javax.servlet
javax.servlet-api
3.1.0
provided
org.thymeleaf
thymeleaf-spring5
3.0.12.RELEASE
com.fasterxml.jackson.core
jackson-databind
2.12.1
<?xml version="1.0" encoding="UTF-8"?>
text/html
application/json
<?xml version="1.0" encoding="UTF-8"?>
CharacterEncodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
forceResponseEncoding
true
CharacterEncodingFilter
/*
DispatcherServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:springMVC.xml
1
DispatcherServlet
/
配置拦截器
单个拦截器
package com.fly.Interceptors;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author 26414
*/
@Component
public class FirstInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("FirstInterceptor==============preHandle");
return true;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
System.out.println("FirstInterceptor==============postHandle");
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
System.out.println("FirstInterceptor==============afterCompletion");
}
}
在配置文件中进行配置
package com.fly.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @author 26414
*/
@Controller
public class InterceptorController {
@RequestMapping("/testInterceptor")
public String testInterceptor() {
return "success";
}
}
testInterceptor
success