SpringMVC——拦截器

在springmvc配置文件中添加:

 <mvc:interceptors>
     <mvc:interceptor>
         <!--/**包括这个请求下的所有请求-->
         <mvc:mapping path="/**"/>
         <bean class="com.yl.config.MyInterceptor"/>
     </mvc:interceptor>
 </mvc:interceptors>

添加一个controller方法:

注意controller类添加注解@RestController,禁止跳入视图

 @GetMapping("/t1")
 public String test(){
     System.out.println("test()执行了");
     return "ok";
 }

新建一个config包,新建拦截器类

 package com.yl.config;
 
 import org.springframework.web.servlet.HandlerInterceptor;
 import org.springframework.web.servlet.ModelAndView;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 //拦截器
 public class MyInterceptor implements HandlerInterceptor {
     //return true:放行,执行下一个拦截器
     //return false:不执行下一个拦截器
     public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
         System.out.println("===========处理前===========");
         return true;
    }
 
     //通常用来写拦截日志,可以不用
     public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
         System.out.println("===========处理后===========");
    }
 
     //通常用来写拦截日志,可以不用
     public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
         System.out.println("===========清理===========");
    }
 }

测试结果:

 

 

登录拦截器实现见本地项目

posted @ 2020-09-10 22:07  Fabulo  阅读(331)  评论(0)    收藏  举报