JFinal学习笔记--官方Demo
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的绝大部分功能
- 体积小仅248K,且无第三方依赖
官方实例:
1、新建工程:
2、导入 jar 文件
3、配置 web.xml 文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>JFinal</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<!-- 配置JFinal过滤器 -->
<filter>
<filter-name>jfinal</filter-name>
<filter-class>com.jfinal.core.JFinalFilter</filter-class>
<!-- 基本配置类 -->
<init-param>
<param-name>configClass</param-name>
<param-value>com.xiaoye.study.jfinal.MyJFinalConfig</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>jfinal</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
4、编写 JFinalConfig继承类
package com.xiaoye.study.jfinal;
import com.jfinal.config.Constants;
import com.jfinal.config.Handlers;
import com.jfinal.config.Interceptors;
import com.jfinal.config.JFinalConfig;
import com.jfinal.config.Plugins;
import com.jfinal.config.Routes;
import com.xiaoye.study.jfinal.controller.HelloController;
public class MyJFinalConfig extends JFinalConfig {
/**
* 设置一些常量
*/
@Override
public void configConstant(Constants me) {
me.setDevMode(true); // 设置开发模式
}
/**
* 设置访问路由
*/
@Override
public void configRoute(Routes me) {
me.add("/hello", HelloController.class);
}
@Override
public void configPlugin(Plugins me) {
}
@Override
public void configInterceptor(Interceptors me) {
}
@Override
public void configHandler(Handlers me) {
}
}
5、编写自己的 Controller 类
package com.xiaoye.study.jfinal.controller;
import com.jfinal.core.Controller;
/**
* Action 类
*/
public class HelloController extends Controller {
/**
* index 为 JFinal 默认执行的方法,类似 Struts2 的 execute 方法
* 访问的默认路径为:http://localhost/hello/index 或者 http://localhost/hello
*/
public void index() {
renderText("执行 HelloController 的默认(index)方法");
}
/**
* 如果要执行非默认方法,地址栏需要加上方法名称
* eg: http://localhost/hello/hello
*/
public void hello() {
renderText("执行 HelloController 的 hello 方法");
}
}
6、完整的工程目录
7、启动测试
7.1
7.2
7.3
7.4
7.5
7.6

JFinal 的 tomcat 部署方式
本人使用解压缩的 apache-tomcat-6.0.8 版本
1、删除 工程中的 jetty-server-8.1.8.jar 包
2、进入 apache-tomcat-6.0.8 解压包的 conf 目录下,修改 server.xml 文件。
在 <Host> 节点下增加如下代码:
<Context docBase="F:\study\JFinalStudy\WebContent" path="" reloadable="true"/>
说明:
1、docBase 的值为你的JFinal工程所在路径,注意到 WebContent 或是 WebRoot目录下
2、path 的值为空
3、启动
进入 apache-tomcat-6.0.8 解压包的 bin目录下,双击 start.bat 启动tomcat
访问路径什么的都一样
访问:http://localhost:8080/hello/hello。
注意:端口号为tomcat配置的端口号
JFinal 的tomcat部署完成