前天下载了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有着重要的属性:
例如 actionMapping就是地址和Action的映射表
constants定义了一些常量 是否是开发者模式 字符编码等等
handler是JFinal的handler链(如果有那么默认的ActionHandler的实例会在链条尾部)
servletContext就是Tomcat的上下文
JFinal的init方法如下:
初始化完之后就start了
这里讲的很粗 因为我只是为了记录一下并没有很好的分析 以后更详细分析的时候再做记载
然后就是这个Filter进行过滤的方法:
可以说挺简约的
要注意的是ActionHandler的实现 对地址中有“.”的是不做处理的 所以自己的actionKey中是不能带点的
代码如下:
所以如果要对jsp做有关拦截...要么自己实现个Handler(返回的isHandled数组设为true 防止过滤链接下去运行) 要么还是用Filter实现比较好
)