JFinal 是基于Java语言的极速 WEB + ORM 开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有 Java 语言所有优势的同时 再拥有 ruby、python、php 等动态语言的开发效率!

JFinal特点

  • MVC 架构,设计精巧,使用简单
  • 遵循 COC 原则,零配置,无 xml
  • 独创 Db + Record 模式,灵活便利
  • ActiveRecord 支持,使数据库开发极致快速
  • 自动加载修改后的 java 文件,开发过程中无需重启 web server
  • AOP 支持,拦截器配置灵活,功能强大
  • Plugin 体系结构,扩展性强
  • 多视图支持,支持 FreeMarker、JSP、Velocity
  • 强大的 Validator 后端校验功能
  • 功能齐全,拥有 struts2 绝大部分核心功能
  • 体积小仅 303K,且无第三方依赖

 

 

1.1 JFinal创建项目

    JFinal  推荐使用 Eclipse  IDE  for  Java  EE  Developers  做 为 开 发 环 境 。 点此下载 

IDEA 用户快速上手参见这里:

 

1)创建 Dynamic Web Project

 

java fream框架 java框架jfinal_java fream框架

2)填入项目基本信息

 

 

java fream框架 java框架jfinal_java fream框架_02

     注意:Target runtime  一定要选择<None>

 

 3)修改 Default Output Folder,推荐输入 WebRoot\WEB-INF\classes

 

java fream框架 java框架jfinal_JFinal_03

 

   特别注意:此处的 Default out folder 必须要与 WebRoot\WEB-INF\classes 目录完全一致才可 以使用 JFinal  集成的 Jetty 来启动项目。

 

 

4)修改 Content directory,推荐输入 WebRoot

java fream框架 java框架jfinal_Java_04

    注意:此处也可以使用默认值 WebContent, 但上一步中的 WebRoot\WEB-INF\classes 则需要 改成 WebContent\WEB-INF\classes 才能对应上。

 

1.2 放入 JFinal 库文件

  将 jfinal-xxx.jar  与jetty-server-8.1.8.jar 拷贝至项目 WEB-INF\lib  下即可。

 

  注意:jetty-server-8.1.8.jar是开发时使用的运行环境,生产环境不需要此文件。

 

1.3 修改 web.xml

 

将如下内容添加至 web.xml

 

<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>

 

1.4 添加 java 文件

在项目 src 目录下创建 demo 包,并在 demo 包下创建 DemoConfig 文件, 内容如下:

package demo;
import com.jfinal.config.*;
public class DemoConfig extends JFinalConfig {
public void configConstant(Constants me)
 { me.setDevMode(true);
}
public void configRoute(Routes me) 
{ me.add("/hello",
 HelloController.class);
}
public void configPlugin(Plugins me) {}
public void configInterceptor(Interceptors me) {}
public void configHandler(Handlers me) {}

 

注意:DemoConfig.java 文件所在的包以及自身文件名必须与 web.xml 中的 param-value 标 签内的配置相一致(在本例中该配置为 demo.DemoConfig)。

 

在 demo 包下创建 HelloController 类文件, 内容如下:

package demo;
import com.jfinal.core.Controller;
public class HelloController extends Controller {
public void index() 
{ renderText("Hello JFinal 
World.");
 
}

1.5 JFinal启动项目

创建启动项如下图所示:

java fream框架 java框架jfinal_java_05

 

鼠标右键点击 Java Application 并选择 New 菜单项,新建 Java Application 启动项,如下图 所示:

java fream框架 java框架jfinal_JFinal_06

 

在右侧窗口中的 Main class 输入框中填入: com.jfinal.core.JFinal 并点击 Debug 按钮启动项 目,如下图所示:

java fream框架 java框架jfinal_Java_07

 

 

1.6 开启浏览器看效果

打开浏览器在地址栏中输入: http://localhost/hello,输出内容为 Hello JFinal World 证明项目 框架搭建完成。如需完整 demo 示例可在 JFinal 官方网站下载:http://www.jfinal.com

 

注意:在 tomcat 下开发或运行项目时,需要先删除 jetty-server-xxx.jar 这个包,否则会引起冲 突。 Tomcat 启动项目不能使用上面介绍的启动方式,因为上面的启动方式需要用到jetty-server-xxx.jar。

 

1.7 Maven 下开发

如果使用 Maven 管理 jar 包依赖,只需要引入如下 dependency:

<dependency>
<groupId>com.jfinal</groupId>
<artifactId>jfinal</artifactId>
<version>2.2</version>
</dependency>

 

Manve 下启动 JFinal 与前面介绍的非 maven 方式基本相同,唯一的区别是在创建 Java Application 启动项时,在 Arguments 标签中的 Program arguments 中输入:src/main/webapp 80 / 5 参数用来指定 web 项目的根目录。如下示例代码是 main 方法启动方式:

public static void main(String[]args)
 { JFinal.start("src/main/webapp",80, "/", 5);