北京网站建设制作开发,大品牌设计公司,做课件需要的纯音乐网站,电商业务推广JFinal: JFinal 是基于Java 语言的极速 web 开发框架#xff0c;其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python等动态语言的开发效率。
但目前此框架不是主流框架#xff0c;大部分公…JFinal: JFinal 是基于Java 语言的极速 web 开发框架其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python等动态语言的开发效率。
但目前此框架不是主流框架大部分公司极少使用。
JFinal 由Handler、Interceptor、Controller、Render、Plugin 五大部分组成
JFinal流程图 JFinal架构图 JFinalConfig
基于JFinal的web项目需要创建一个继承自JFinalConfig类的子类该类用于对整个web项目进行配置。
configConstant(constants me)
此方法来配置Jfinal常量值如开发模式常量devModel的配置如下代码配置了JFinal运行在开发模式下
常用配置
public void configConstant(Constants me) {// 配置开发模式true 值为开发模式me.setDevMode(true);// 配置 aop 代理使用 cglib否则将使用 jfinal 默认的动态编译代理方案me.setToCglibProxyFactory();// 配置依赖注入me.setInjectDependency(true);// 配置依赖注入时是否对被注入类的超类进行注入me.setInjectSuperClass(false);// 配置为 slf4j 日志系统否则默认将使用 log4j// 还可以通过 me.setLogFactory(...) 配置为自行扩展的日志系统实现类me.setToSlf4jLogFactory();// 设置 Json 转换工厂实现类更多说明见第 12 章me.setJsonFactory(new MixedJsonFactory());// 配置视图类型默认使用 jfinal enjoy 模板引擎me.setViewType(ViewType.JFINAL_TEMPLATE);// 配置基础下载路径默认为 webapp 下的 downloadme.setBaseDownloadPath(...);// 配置基础上传路径默认为 webapp 下的 uploadme.setBaseUploadPath(...);// 配置 404、500 页面me.setError404View(/common/404.html);me.setError500View(/common/500.html);
} 或基础配置
public void configConstant(Constants me) {// 配置 encoding默认为 UTF8me.setEncoding(UTF8);// 配置 json 转换 Date 类型时使用的 data partternme.setJsonDatePattern(yyyy-MM-dd HH:mm);// 配置是否拒绝访问 JSP是指直接访问 .jsp 文件与 renderJsp(xxx.jsp) 无关me.setDenyAccessJsp(true);// 配置上传文件最大数据量默认 10Mme.setMaxPostSize(10 * 1024 * 1024);// 配置验证码缓存 cache配置成集中共享缓存可以支持分布式与集群me.setCaptchaCache(...);// 配置 urlPara 参数分隔字符默认为 -me.setUrlParaSeparator(-);
}
configRoute(Routes me)
此方法来配置JFinal访问路由(访问后台的路径)如下
public void configRoute(Routes me) {// 如果要将控制器超类中的 public 方法映射为 action 配置成 true一般不用配置me.setMappingSuperClass(false);me.setBaseViewPath(/view);me.addInterceptor(new FrontInterceptor());me.add(/hello, HelloController.class);
} 其他配置或文档请参考官网JFinal 文档、资料、学习、APIMaven 基础 个人总结
1.JFinal 通过cofig类 配置jdbc访问controller路径等其他配置包括实体与数据库的映射在内
2.实体继承JFinal的 Model(内部有定义好的方法调用)也可以将实体当做dao层及daoImpl层在内编写sql语句
3.且获取实体的值时是通过 实体对象get(*),set(*)获取*为实体映射对应数据库里的字段
4.有一特点是JFinal的添加或编辑可以set(*).set(*).save();或set(*).set(*).update();格式进行
5.前后台交互参数等主要以request与response等为主...
注意JFinal的配置要严格按照标准进行。