Hello JFinal World

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 绝大部分核心功能
?  体积小仅 218K,且无第三方依赖

官方推荐用Eclipse IDE for Java EE Developers 做为开发环境,但我个人用惯了myecllipse+tomact

Eclipse IDE for Java EE Developers 中

1、创建 Dynamic Web Project

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

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

3、修改 Content directory,推荐输入 WebRoot

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

4、去官网下载最新的jar包(我这是JFinal-lib-1.4)

把jetty-server-8.1.8.jar 和JFinal-bin-1.4.jar放到项目 WEB-INF\lib下,jetty-server-8.1.8.jar是开发时使用的运行环境,用tomact和生产环境下就不需要了

5、添加到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> 

6、在项目 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.");
}
} 

6、右击项目名选中com.jfinal.core.JFinal  ok
7、浏览器输入http://localhost/hello输出内容为 Hello JFinal World 证明项目框架搭建完成。

注意:在 tomcat 下开发或运行项目时,需要先删除  jetty-server-xxx.jar 这个包,否则会引起冲突。

(抄袭官网api,罪过罪过....)

jfinal真的挺简单,迅速,强大的一个框架,没有ssh的N多xml配置文件,后面做个简单的学生信息管理,配合FreeMarker

时间: 2024-10-13 17:12:20

Hello JFinal World的相关文章

实现了Zbus的JFinal插件,JFinal里用Zbus更方便了。

zbus https://git.oschina.net/rushmore/zbus 轻量级服务总线/消息队列 1)多种消息模式--支持生产者/消费者,发布订阅,RPC 2)丰富的API--C/C++/C#/JAVA/Python/Node.JS跨平台.多语言支持 3)开放协议标准--原生兼容HTTP协议(长连接),头部动态扩展 4)支持TrackServer与ZbusServer高可用横向动态扩容机制 jfinal https://git.oschina.net/jfinal/jfinal J

JFinal里得到表结构的方法总结

JFinal里得到表结构的方法总结: 1.得到已经配置的Model类的表结构.(推荐用法).如下,定义一个User的Model类,这样就可以得到Model类的表结构了.具体实现不明白,请高手指导. public void tableMappingTest(){  Table table = TableMapping.me().getTable(User.me.getClass());    renderText(table.getColumnTypeMap().toString());   }

JFinal 学习笔记

HandlerFactory HandlerFactory是不可实例化的,因为 它的构造 函数 特意定位 私有 的:它有一个 静态的方法叫做 getHandler,它有两个参数 ,一个是Handler的List类型,另一个是一个单一的handler,代码如下 : public static Handler getHandler(List<Handler> handlerList, Handler actionHandler) { Handler result = actionHandler;

一键生成JFinal模块代码(Eclipse插件)

代码生成工具在日常开发中是必不可少,因为代码生成工具能够一键生成代码,减少重复的工作,缩短开发周期.五一期间个人开发了一个基于Eclipse插件的代码生成工具(jfinal-generator),这里分享一下. jfinal-generator支持JFinal官方代码生成策略,同时也支持用户自定义代码生成策略,并支持多种数据作为数据源. 1.首先贴出一张效果图,如下图 2.以JFinal官方的Generator为例,生成BaseModel和Model等相关文件,如下图(gif) 3.自定义代码生

JFinal DB.tx()事务

JFinal中有个封装好的事务应用,用起来非常方便简单. 写法1: Db.tx(new IAtom(){ @Override public boolean run() throw SQLException{ //在这里写要执行的操作,操作结果result为boolean值 return result; } }); result值为true则操作成功,为false则回滚. 事务DB.tx()本身也返回一个boolean值,表示最终操作结果是否成功,true为成功,false失败. 写法2: 在方法

JFinal + B-JUI(1)-前端选型过程

一直在寻求做点什么,算是自我的一个锻炼吧. 一天看了JFinal的介绍及相关案例后,眼前一亮,提了几个问题波总也非常及时的给出解答. 说实在的也是受够了SSH各种码XML,一坨坨的配置,也可能是自己学艺不精,未得其精髓. 熟悉了一段JFinal后,决定用这个号称本星球极速JAVA开发框架做点东西,本来想等波总说的JFinal CMS,但迟迟没下文. 说下一些选型过程吧,也是各种尝试,各种坑. 1.前端 1)bootstrap模板 当下火热的前端可能是它了,各种模板满天飞,大多也都是些扁平化的,蛮

JFinal Weixin 1.5 发布,微信极速 SDK

原文:http://www.oschina.net/news/67980/jfinal-weixin-1-5-released JFinal Weixin 1.5 大幅完善了对微信公众平台API的支持,以便满足更多开发者的需求.主要添加了微信摇一摇.微信支付.素材管理MediaApi,分布式Token存储等实用功能. 本次版本所有功能来源于@卢春梦 和他的小伙伴们的贡献,在此特别表示感谢.春梦大牛@孤独的3 不仅对 jfinal weixin 项目有很多的贡献,而且对 jfinal 的发展也做出

JFinal设置端口

JFinal设置端口 一.使用main方法设置 例如: public static void main(String[] args) { //HelloController为当前main方法对应的类名 String webAppDir = HelloController.class.getResource("/").getPath() .replace("/WEB-INF/classes/", ""); int port = 80; //在此修改

jfinal-scheduler 极简JFinal任务插件

jfinal-scheduler 是 基于cron4j以及ScheduledThreadPoolExecutor实现的简单的任务调度插件. 插件[email protected]地址: https://git.oschina.net/myaniu/jfinal-scheduler 极简体现在几个方便: 1)自动根据CPU内核数设定调度线程数 2)任务只需实现Runnable接口 3)只支持cron表达式(最小单位分钟)/固定频率(时间单位固定为秒)/固定延迟(时间单位固定为秒) 4)支持通过配置

Jfinal框架登陆页面的图形验证码

一个验证码搞了一上午, 终于在终于在网上借鉴各位大侠的文章写出来了.郁闷的心情有所好转, 记下来以后或许还能用到 (*^__^*) …… 验证码的工具类, 这个jfinal自带的也有,但是下面这个和Jfinal自带的有一点点小的改动,(我用Jfinal自带的,在action中判断输入的验证码和系统随机生成的做对比的时候,出了问题.自带的类好像要用到MD5加密手动输入的验证码后才能判断,(这个我也不太清楚,只是我的感觉 -,- !,真希望能有位好心人为我这样的菜鸟解答一下.)).呜,这个类也是在网