zoukankan      html  css  js  c++  java
  • struts2-拦截器的创建方式

    一.拦截器的创建方式

      1.实现Interceptor接口;

        >实现该接口后,需要重写三个方法,分别是init(),intercept(ActionInvocation nvocation),destroy();

        >一般来说有生命周期方法的类,生命周期都不会太短,拦截器的生命周期随项目创建而创建,项目结束而摧毁;

        >如果不需要进行初始化和结尾处理时,实现该接口就要点没必要了,所以不推荐该方式

      2.继承抽象类AbstractInterceptor;

        >继承后,需要重写一个方法即可:intercept(ActionInvocation nvocation),该类还是比较体贴的,帮你处理掉了两个生命周期方法;

        >可以使用,但是方式三更好点

      3.继承MethodFilterInterceptor;

        >继承后,需要实现一个方法:doIntercept(ActionInvocation invocation),对要拦截的请求将执行的方法;

        >intercept方法很像servlet时的service方法,会对请求进行判断;这里的话intercept封装了对请求是否拦截的代码,若拦截的话会调用doIntercept;依次类推doIntercept()对应doGet和doPost

        >功能上:可以定制拦截器需要拦截的方法和不拦截的方法

        >doIntercept(ActionInvocation invocation)的参数有一个方法invocation.invoke(),表示放行,执行下一个拦截器

        >如果在doIntercept里没有放行方法,直接返回一个字符串的话,流程将流向result类来处理转发或重定向等到指定的页面。

  • 相关阅读:
    CF932E Team Work
    BZOJ 4480 [JSOI2013] 快乐的jyy
    CF285E Positions in Permutations
    P4312 [COCI 2009] OTOCI / 极地旅行社
    P3327 [SDOI2015]约数个数和
    P3649 [APIO2014]回文串
    P3181 [HAOI2016]找相同字符
    P3346 [ZJOI2015]诸神眷顾的幻想乡
    P4248 [AHOI2013]差异
    P4512 【模板】多项式除法
  • 原文地址:https://www.cnblogs.com/ibcdwx/p/12745990.html
Copyright © 2011-2022 走看看