星空网 > 软件开发 > ASP.net

Jfinal

Jfinal handler的处理采用了责任链设计模式

有关责任链模式,推荐看:

《JAVA与模式》之责任链模式

 

1、实现Handler只需要继承Handler

public class DemoHandler extends Handler {  @Override  public void handle(String target, HttpServletRequest request,      HttpServletResponse response, boolean[] isHandled) {  }}

2、在继承JFinalConfig的文件中添加配置即可

  /**   * 配置处理器   */  public void configHandler(Handlers me) {    me.add(new DemoHandler());  }

以上两步就搞定Handler

 

在Jfinal中handler源码实现:

1、启动涉及Handler的主要执行过程

JFinalFilter--->JFinal(init()方法)---->initHandler()(初始化handler)

2、在initHandler()方法中

private void initHandler() {    Handler actionHandler = new ActionHandler(actionMapping, constants);    handler = HandlerFactory.getHandler(Config.getHandlers().getHandlerList(), actionHandler);  }

3、最主要的过程使配置的Handler形成链式结构

/**   * Build handler chain   */  public static Handler getHandler(List<Handler> handlerList, Handler actionHandler) {    Handler result = actionHandler;        for (int i=handlerList.size()-1; i>=0; i--) {      Handler temp = handlerList.get(i);      temp.nextHandler = result;      result = temp;    }        return result;  }

具体过程,用一张图表示

Jfinal

可以经过交换,handler的执行过程为:handler1--->handler2--.....--->ActionHandler




原标题:Jfinal

关键词:JFinal

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流