一:定义:
JFinal 是基于Java 语言的极速 web 开发框架,其核心设计目标是开 发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、 Restful。 又称为中国的spring;
二:JFinal的系统架构特点
JFinal 采用微内核全方位扩展架构
Handler、Interceptor、Controller、Render、Plugin五大部分组成。
1、遵循COC原则,零配置,无xml
2、ActiveRecord支持,使数据库开发极致快速
3、自动加载修改后的java文件,开发过程中无需重启web server
4、AOP支持,拦截器配置灵活,功能强大
5、Plugin体系结构,扩展性强
6、多视图支持,支持FreeMarker、JSP、Velocity
7、强大的Validator后端校验功能
8、功能齐全,拥有struts2的绝大部分功能
9、体积小仅218K,且无第三方依赖
三:Jfinal的使用
目前学习和使用JFinal极速web开发框架的个人开发者或者公司团队已经 非常多了,项目类型范围涵盖也比较多.
常见的: 后台管理系统, 电商网站, 金融系统, 校务管理, 进销存系统, ERP系统, 游戏后台维护支撑系统等
Controller
是JFinal的核心类之一,该类作为MVC模式的控制器,基于JFinal的Web应用的控制器需要继承该类。Controller是定义Action方法的地方,是组织Action的一种方式,一个Controller可以包含多个Action。controller是线程安全的。
Action
在Controller中定义的public方法称为Action。Action是最小的请求单位,必须在Controller中定义,且必须是public可见性
public class HelloController extends Controller {
public void index() {
renderText("此方法是一个action");
}
public String test() {
return "index.html";
}
}
Action中的@NotAction注解
如果希望controller中的public 方法不成为一个action,可以使用@NotAction注解。
@NotAction注解通常用于引入了BaseController的中间Controller
@Path("demo")
public class BaseController extends Controller {
// 不希望成为 action,仅供子类调用,或拦截器中调用
@NotAction
public void getLoginUser() {
}
}