JFinal框架是基于java语言的急速WEB+ORM框架,其设计核心是开发迅速,代码量少,学习简单,功能强大,轻量级,已扩展,Restful。在拥有java语言所有优势的同时再拥有python,php等动态语言的开发效率,让你有足够多的时间去做其他的事。
JFinal有如下主要特点:
-
MVC架构,设计精巧,使用简单
-
遵循COC原则,零配置,无xml
-
独创Db + Record模式,灵活便利
-
ActiveRecord支持,使数据库开发极致快速
-
自动加载修改后的java文件,开发过程中无需重启web server
-
AOP支持,拦截器配置灵活,功能强大
-
Plugin体系结构,扩展性强
-
多视图支持,支持FreeMarker、JSP、Velocity
-
强大的Validator后端校验功能
-
功能齐全,拥有struts2的绝大部分功能
-
体积小仅218K,且无第三方依赖
JFinal官网:http://www.jfinal.com/下载需要的资料
初步实现在界面输出Hello JFinal
实现步骤:
1.创建核心配置类,该类继承与JFinalConfig类
2.配置xml文件
3.创建控制器类,该类继承与Controller类
3.将项目部署到服务器,进行测试
核心配置类:THConfig
package com.tenghu.core.config; 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.tenghu.core.controller.LoginController; public class THConfig extends JFinalConfig{ /** * 常量配置 */ @Override public void configConstant(Constants me) { me.setDevMode(true);//设置开发模式 } /** * 配置处理器 */ @Override public void configHandler(Handlers me) { } /** * 配置拦截器 */ @Override public void configInterceptor(Interceptors me) { } /** * 配置插件 */ @Override public void configPlugin(Plugins arg0) { } /** * 配置路由 */ @Override public void configRoute(Routes me) { me.add("/", LoginController.class); } }
配置web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <display-name></display-name> <filter> <filter-name>JFinal</filter-name> <filter-class>com.jfinal.core.JFinalFilter</filter-class> <init-param> <param-name>configClass</param-name> <param-value>com.tenghu.core.config.THConfig</param-value> </init-param> </filter> <filter-mapping> <filter-name>JFinal</filter-name> <url-pattern>/</url-pattern> </filter-mapping> </web-app>
package com.tenghu.core.controller; import com.jfinal.core.Controller; /** * 登陆控制器 * @author Arvin * */ public class LoginController extends Controller{ public void index(){ renderText("Hello JFinal"); } }
部署项目,如果出现Hello JFinal这句话,则表示成功
这里的这句话是直接将文本输出到界面,如果需要返回的是html页面,那么需要添加freemarker框架的jar包,使用render()方法
render("admin/index.html");如果返回的页面是jsp页面,那么需要在核心配置类中的常量配置方法中(configConstant())中配置视图类型
/** * 常量配置 */ @Override public void configConstant(Constants me) { me.setDevMode(true);//设置开发模式 me.setViewType(ViewType.JSP);//配置视图类型 }
在控制器中返回jsp文件
render("admin/index.jsp");
如果不配置ViewType,那么jsp文件则会以静态模板显示到界面,因为JFinal框架默认的就是静态模板,所以如果要返回jsp页面,那么久需要配置视图类型
render的系列方法还有很多,比如返回JSON,File,Javascript,Html等。
简单的JFinal框架配置基本实现