专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

Spring MVC 教程(十二)自定义拦截器

Spring MVC也可以使用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定的功能,自定义的拦截器必须实现HandlerInterceptor接口
– preHandle():这个方法在业务处理器处理请求之前被调用,在该方法中对用户请求 request 进行处理。如果程序员决定该拦截器对请求进行拦截处理后还要调用其他的拦截器,或者是业务处理器去进行处理,则返回true;如果程序员决定不需要再调用其他的组件去处理请求,则返回false。
– postHandle():这个方法在业务处理器处理完请求后,但是DispatcherServlet 向客户端返回响应前被调用,在该方法中对用户请求request进行处理。
– afterCompletion():这个方法在 DispatcherServlet 完全处理完请求后被调用,可以在该方法中进行一些资源清理的操作。

1、实现HandlerInterceptor

 package com.study.springmvc.interceptors;

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

 import org.springframework.web.servlet.HandlerInterceptor;
 import org.springframework.web.servlet.ModelAndView;

 public class FirstInterceptor implements HandlerInterceptor{

     /**
      * 该方法在目标方法之前被调用.
      * 若返回值为 true, 则继续调用后续的拦截器和目标方法. 
      * 若返回值为 false, 则不会再调用后续的拦截器和目标方法. 
      * 
      * 可以考虑做权限. 日志, 事务等. 
      */
     @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");
     }

 }

2、在springmvc.xml配置定义的拦截器

 <mvc:interceptors>
         <!-- 配置自定义的拦截器 -->
         <bean class="com.study.springmvc.interceptors.FirstInterceptor"></bean>

     </mvc:interceptors>

https://www.cnblogs.com/leeSmall/category/1093236.html

文章永久链接:https://tech.souyunku.com/13905

未经允许不得转载:搜云库技术团队 » Spring MVC 教程(十二)自定义拦截器

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们