zoukankan      html  css  js  c++  java
  • spring拦截器的定义

    (一)、拦截器的定义

      1、为什么需要拦截器:在做身份认证或者是进行日志的记录时,我们需要通过拦截器达到我们的目的

      2、什么事拦截器:在AOP(Aspect-Oriented Programming)中用于在某个方法或字段被访问之前,进行拦截然后在之前或之后加入某些操作。拦截是AOP的一种实现策略

      3、如何用拦截器:在spring中用拦截器需要实现HandlerInterceptor接口或者它的实现子类:HandlerInterceptorAdapter,同时在applicationContext.xml文件中配置拦截器

    package edu.mybatis.interceptor;
    
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import org.springframework.web.servlet.HandlerInterceptor;
    import org.springframework.web.servlet.ModelAndView;
    
    public class MyHandlerIntercepter implements HandlerInterceptor{
        
        //进入handler之前
        //身份认证,身份授权
        public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1,
                Object arg2) throws Exception {
            System.out.println("lanjie=====1");
            return true;
        }
        //进入handler之后,返回modelandview之前
        //ModelAndView:将公用的模型数据(菜单导航)传到视图
        public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,
                Object arg2, ModelAndView arg3) throws Exception {
            System.out.println("lanjie=====1");
            
        }
        //执行完handler之后
        //统一异常处理,统一日志处理
        public void afterCompletion(HttpServletRequest arg0,
                HttpServletResponse arg1, Object arg2, Exception arg3)
                        throws Exception {
            System.out.println("lanjie=====1");
            
        } 
    
    }

    4、配置applicationContext.xml文件

    <!--拦截器 -->
        <mvc:interceptors>
            <!--多个拦截器,顺序执行 -->
            <mvc:interceptor>
                <mvc:mapping path="/**"/>
                <bean class="edu.mybatis.interceptor.HandlerIntercepter"/>
            </mvc:interceptor>
        </mvc:interceptors>

    在这里<mvc:mapping path="...">表示你要拦截的文件路径,配置路径的时候需要注意:/**的意思是所有文件夹以及其子文件夹,而/*是所有文件夹,不包括子文件夹

  • 相关阅读:
    C#yield return用法示例
    C#多线程示例
    AspNetCore.Authentication
    C#委托与事件
    按值和按引用传递参数
    基于iView的无限级菜单
    Sortable By Attribute
    未能加载文件或程序集“BLL”或它的某一个依赖项。生成此程序集的运行时比当前加载的运行时新,无法加载此程序集。
    有关导出Excel特殊字符的问题
    openFileDialog的使用
  • 原文地址:https://www.cnblogs.com/googlemeoften/p/4699299.html
Copyright © 2011-2022 走看看