JFinal是什么?
JFinal 是国产的、基于 Java 语言的极速 WEB MVC + ORM 框架,由 Handler、Interceptor、Controller、Render、Plugin 五大部分组成。其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。
JFinal架构
JFinal架构以Action为参照,Handler处在扩展的外围,Interceptor处在更贴近Action的范围,Controller承载Action处在扩展的中心,Render处于Action后端,Plugin处于Action右侧。
开发原理
简单总结为:零配置、代码量少、开发体验连续、无第三方依赖、概念最少化。
JFinal特点
1、它是国产的MVC架构
2、惯例优于配置原则,零配置无xml
3、使用DB+Record实现ORM
4、支持多种视图
5、强大的validator后端校验功能
… …
对JFinal有了一个宏观了解后,接下来通过一个入门demo跟大家一起学习下JFinal在项目中的使用。
项目实战
1、在开始建项之前,先打开eclipse的Perferences窗口,将项目编码和JSP编码格式统一设置为UTF-8。
2、下载JFinal依赖的jar包,官网地址: http://www.jfinal.com/
3、创建web应用。新建Dynamic Web工程
4、创建配置文件类MyAppConfig并继承JFinalConfig类
5、修改web.xml文件,通过初始化参数将MyAppConfig设置为filter过滤器的入口。
6、创建controller类。JFinal的controller需要继承controller类。
7、创建JSP页面。在WebContent中新建hello.jsp和index.jsp。
8、注册controller路由。在MyAppConfig.java中将准备好的jsp和controller关联起来。
到此,一个简单的JFinal项目框架已经建好了。接下来我们看一下各个部分的具体实现和调用关系。
首先MyAppConfig.java类
public class MyAppConfig extends JFinalConfig {
/*
* 一些默认通用设置
*/
@Override
public void configConstant(Constants me) {
me.setDevMode(true);
me.setEncoding("utf-8");
me.setViewType(ViewType.JSP);
}
/*
* 注册路由,将jsp访问和controller关联在一起
*/
@Override
public void configRoute(Routes me) {
//----"/"访问到IndexController这个类的index()方法,这是约定
me.add("/", IndexController.class);