[笔记]JFinal使用记录

前天下载了JFinal 打算用用看 这个国人自己写的用于java快速开发web应用的框架(大赞)

JFinal更多请看:http://www.oschina.net/p/jfinal

 

这边简单说一下JFinal的一些基本过程 说错了欢迎指正

 

要使用JFinal 和其他大多数框架一样 加入一个全局的过滤器用来过滤请求:

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

 这个过滤器负责JFinal全部内容的初始化  configClass指定了JFinal的配置类 这个配置类会在容器启动的时候随着此Filter的加载而被初始化并加载更多的内容

这里说一下启动的步骤 因为我并没有完整走一遍 说的过程也许会有纰漏 欢迎打脸

启动容器:

进入:

JFinalFilter:


[笔记]JFinal使用记录
 这里做的最主要的工作就是JFinal的初始化

 JFinal有着重要的属性:


[笔记]JFinal使用记录
 例如 actionMapping就是地址和Action的映射表

constants定义了一些常量 是否是开发者模式 字符编码等等

handler是JFinal的handler链(如果有那么默认的ActionHandler的实例会在链条尾部)

servletContext就是Tomcat的上下文

 

JFinal的init方法如下:


[笔记]JFinal使用记录
 

初始化完之后就start了

这里讲的很粗 因为我只是为了记录一下并没有很好的分析 以后更详细分析的时候再做记载

 

然后就是这个Filter进行过滤的方法:


[笔记]JFinal使用记录
 可以说挺简约的

 

要注意的是ActionHandler的实现 对地址中有“.”的是不做处理的 所以自己的actionKey中是不能带点的

代码如下:


[笔记]JFinal使用记录
 

所以如果要对jsp做有关拦截...要么自己实现个Handler(返回的isHandled数组设为true 防止过滤链接下去运行) 要么还是用Filter实现比较好 

)