zoukankan      html  css  js  c++  java
  • springmvc之自定义拦截器

    1、在springmvc.xml配置文件中配置:

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

    2、定义拦截器类,需要继承HandlerInterceptor

    package com.gong.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");
        }
    
    }

    需要注意每个方法调用的时机和顺序。

    3、在发送请求后,在终端可以看到:

     

  • 相关阅读:
    gThumb 3.1.2 发布,支持 WebP 图像
    航空例行天气预报解析 metaf2xml
    Baruwa 1.1.2 发布,邮件监控系统
    Bisect 1.3 发布,Caml 代码覆盖测试
    MoonScript 0.2.2 发布,基于 Lua 的脚本语言
    Varnish 入门
    快速增量备份程序 DeltaCopy
    恢复模糊的图像 SmartDeblur
    Cairo 1.12.8 发布,向量图形会图库
    iText 5.3.4 发布,Java 的 PDF 开发包
  • 原文地址:https://www.cnblogs.com/xiximayou/p/12189328.html
Copyright © 2011-2022 走看看