2
回答
jfinal 中的Handlers命周期是怎么样的?如果我要写的url重写的Handlers要怎么操作?
华为云数据库免费试用   
jfinal 中的Handlers命周期是怎么样的?如果我要写的url重写的Handlers要怎么操作?
举报
jfinal2
发帖于6年前 2回/565阅
共有2个答案 最后回答: 6年前

在JFinal的配置类JFinalConfig里加入你自定义的Handler。自定义的Handler继承Handler,在结束处调用nextHandler.handler()。Handlers里保存了Handler的一个List,在初始化的时候会进行一个链式的操作,使得前一个Handler中的nextHandler属性指向下一个Handler。最后的一个Handler是jfinal自己的ActionHandler,这个Handler用于操作jfinal的url对应的action。

Handler 生命周期:

1: JFinal 启动时用户自定义 Handler与ActionHandler按顺序组合成一个Handler链条

2:请求到达时将会被此Handler链条中的每个Handler分别进行处理

3:Handler需要调用nextHandler.handle(...)才能将处理传递给下一个Handler

4:Handler是全局共享的,每次请求都是同样的Handler对象在处理

在Handler中重写url

1:根据你自己决定的路由规则,改变 hanlde(String target, ...)中的第一个参数 target 就可以

2:参考com.jfinal.ext.handler包下面的 UrlSkipHandler.java、FakeStaticHandler.java,重点关注handle(String target,....)第一个参数 target,只要改变 target就可以改变路由规则

顶部