rose拦截器

依旧是参考54chen写的rose手册,重新整理下rose的拦截器功能。

参考网址:http://www.54chen.com/rose.html

 

一、拦截器的例子

需要注意几点:

  • 拦截器要放在controllers下(高级用法:打在rose-jar包里,参见5.1)
  • 继承net.paoding.rose.web.ControllerInterceptorAdapter
  • 按照实现的方法名,在controller执行前、中、后执行:
    • before:在controller执行前执行。
    • after:在controller执行中(后)执行,如果一个返回抛出了异常,则不会进来。
    • afterCompletion:在controller执行后执行,不论是否异常,都会进来。
    • isForAction:定义满足某条件的才会被拦截。

拦截器可动的位置细节

  • 上面都讲得差不多了,实际上还有不少地方可以拦截的:
    • isForDispatcher:根据响应的情况判断是否拦截,比如说是正常请求、内部forward、还是include (但是没用过)
    • setPriority:设置一个数字表示拦截优先级,当有多个拦截器时,要精准控制,数字小的内层,大的在外层,在最外层的before方法最先执行,大家都执行完后它的after才最后执行。
    • round:这才是真正的controller执行中执行,不过用得很少。
    • getRequiredAnnotationClass:返回一个Annotation class name,表示这个拦截器只对此Annotation标过的controller才生效。常用。

二、ErrorHandler支持

  • ErrorHanle致力于:统一捕捉和处理各种异常,可区分对待和返回;统一的出错体验。
  • 非常类似做web开发时的500统一出错页面这样的东东。

三、controller层:门户必备portal支持

更加充分地使用多核cpu。 *更加方便多人协作时对项目进行模块划分,搞的时候,按照url一分,一个url一个模块,所有的页面都可以切成小的豆腐块

 

四、controller层:门户必备pipe支持

如果是portal,那会多个线程执行完成一起返回,而pipe则会用js反写的方式,一个线程一个线程地返回给用户。

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值