老大,Jfinal中的handler与Interceptor有什么区别

老大,Jfinal中的handler与Interceptor有什么区别,我看文档Interceptor是拦截Action请求,handler是管理web请求,这个比较笼统,没有理解。

评论区

maxwade

2019-01-26 08:11

看下官网的jfinal架构图,当一个请求的时候,先走handler(比如urlseohandler,globalhandler(jfinaluib), 也可以在里面做一个ip白名单这样的统一处理等 ),然后走interceptor。

JFinal

2019-01-26 10:49

handler 处于更早的一个层级,可以拦截所有请求,包括静态资源的请求

而 interceptor 只能拦截 Controller 中定义的 action

handler 的拦截范围总全局的,而 interceptor 的拦截范围可以配置成:method、class、global 三个级别

只要是 interceptor 可以满足需求的情况就用 interceptor,否则才考虑用 handler

JFinal

2019-01-26 10:50

想要深入理解 handler,只需要做一个简单的 handler,然后里头设置一个断点,会看到只要有请求过来都会被拦截到

handler、interceptor 在本质上都是 AOP 的一种实现,都是为了在你的目标代码之前、之后切处一些额外的行为

热门反馈

扫码入社