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="...">表示你要拦截的文件路径,配置路径的时候需要注意:/**的意思是所有文件夹以及其子文件夹,而/*是所有文件夹,不包括子文件夹

  • 相关阅读:
    密码保护
    实现搜索功能
    完成个人中心—导航标签
    个人中心标签页导航
    评论列表显示及排序,个人中心显示
    完成评论功能
    从首页问答标题到问答详情页
    首页列表显示全部问答,完成问答详情页布局。
    JavaScript Array Reduce用于数组求和
    【Angular5】 返回前一页面 go back to previous page
  • 原文地址:https://www.cnblogs.com/googlemeoften/p/4699299.html
Copyright © 2011-2022 走看看