博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JFinal中的AOP
阅读量:4256 次
发布时间:2019-05-26

本文共 798 字,大约阅读时间需要 2 分钟。

本帖讲的主要是Interceptor。

关于AOP的概念,我这里的理解就是,希望在某处理的基础上进行一些先决处理,或者善后处理。

比如,某些论坛的权限验证。访问某某区域需要时登录或者是需要时某某VIP等级才能访问。

这个时候,在页面跳转之前,就可以加上一个权限验证的拦截器。

1.层次分类

(1)全局Global

(2)注射Inject

(3)类Class

(4)方法Method

其中,注射拦截器可以看作是一种特殊的类拦截器,用于非侵入式的部署(部署的时候不需要像其他拦截器一样在代码中加入一行@Before(XXX.class),

而是通过一个函数调用将拦截器与被拦截类绑定),但是注射拦截器总在类拦截器的前面。

2.功能分类

(1)控制层拦截器(Action)

(2)业务层拦截器(Service)

这两种拦截器,内容上一个是针对action的,一个是程序自身的逻辑的。

触发方式上有区别:

①Action拦截器,在用户调用Action的时候自动触发

②Service拦截器,需要先对某类或者某个对象进行增强,然后才能触发。

3.处理方式

(1)Interceptor

这个主要用于定义拦截器,作一些什么处理,它impliments Interceptor,然后实现intercept方法,

在里面进行被拦截方法的调用,以及相关的处理。

(2)@Before或者me.addGlobalXXXInterceptor

①Before用来配置,Class与Mehotd拦截器

②me.addGlobalXXXInterceptor用来在configInterceptor中配置全局拦截器

③inject拦截器通过在增强的时候用传入参数进行配置

(3)@Clear

对于该层以上的拦截器进行清除(不清除该层)

使用情况,比如在进行任意操作的时候有一个登录拦截器,但是对于登录操作你是不能拦截的。

转载地址:http://ujiei.baihongyu.com/

你可能感兴趣的文章
Android成长(三)——页面布局
查看>>
bootstrap——完美的分页查询
查看>>
SSH——浅谈Spring中的IOC容器
查看>>
SSH——Struts2大战SpringMVC
查看>>
几番周折后的稳定
查看>>
Java时时调度(一)
查看>>
Java时时调度(二)
查看>>
SSH——Hibernate初学者之旅(一)
查看>>
SSH——浅谈spring中的事务(一)
查看>>
SSH——浅谈spring中的事务(二)
查看>>
java封装导出Excel
查看>>
SSH——Hibernate初学者之旅(二)
查看>>
SSH——Hibernate初学者之旅(三)
查看>>
SSH——Hibernate初学者之旅(四)
查看>>
SSH——Hibernate初学者之旅(五)
查看>>
SSH——Hibernate初学者之旅(六)
查看>>
java封装导出excel之——优化
查看>>
秒秒钟看懂MyBatis
查看>>
阿里架构之旅(一)——Dubbo初识
查看>>
阿里架构之旅(二)——Dubbo解析
查看>>