jFinal路由解析源码分析

java 4 2016-02-29 13:03
女装

jFinal的路由解析是在JFinalFilter中做的,这个Filter也需要在web.xml中配置。JFinalFilter实现了javax.servlet.Filter接口,从这里也可以看出jFinal是基于Servlet的。JFinalFilter在初始化时负责初始化jFinal项目的配置(com.jfinal.core.Config)、路由表(Route)、映射表(ActionMapping)等;路由解析是在JFinalFilterdofilter方法完成的。

关键词: Route Handler Action ActionMapping


1. 项目配置

分析jFinal的路由解析逻辑必须从jFinal的一般项目配置入手,配置的作用是为路由解析提供支持的。和一般Java Web MVC框架不同的是jFinal没有采用xml配置的形式,但不是不需要配置,还是需要提供一个JFinalConfig的继承实现类,实现configXXX方法来支持配置初始化,初始化的入口是JFinalFilterinit方法。

1.1 web.xml

jFinal工程同样需要web.xml配置文件,但是较其他MVC框架的web.xml文件内容或许要简单许多,除了配置welcome-file-list,只需要配置一个filter

  <filter>
      <filter-name>jfinal</filter-name>
      <filter-class>com.jfinal.core.JFinalFilter</filter-class>
      <init-param>
          <param-name>configClass</param-name>
          <param-value>com.app.common.Config</param-value>
      </init-param>
  </filter>
  
  <filter-mapping>
      <filter-name>jfinal</filter-name>
      <url-pattern>/*</url-pattern>
  </filter-mapping>

JFinalFilter

女装
文章评论