JFinal主要特點(diǎn):
- MVC架構(gòu),設(shè)計(jì)精巧,使用簡單
- 遵循COC原則,零配置,無xml
- ActiveRecord支持,使數(shù)據(jù)庫開發(fā)極致快速
- 自動(dòng)加載修改后的java文件,開發(fā)過程中無需重啟web server
- AOP支持,攔截器配置靈活,功能強(qiáng)大
- Plugin體系結(jié)構(gòu),擴(kuò)展性強(qiáng)
- 多視圖支持,支持FreeMarker、JSP、Velocity
- 強(qiáng)大的Validator后端校驗(yàn)功能
- 功能齊全,擁有struts2的絕大部分功能
- 體積小僅180K,且無第三方依賴
新建一個(gè)jfinal工程:
1.新建一個(gè)web project工程,在lib下放入jfinal -xxx.jar 與 jetty jetty-server-6.1.26.jar。
2.在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>
3.
在項(xiàng)目 src 目錄下 創(chuàng)建 demo demo 包,并 在 demo demo 包下創(chuàng)建 DemoConfig DemoConfig DemoConfig 文件 , 內(nèi) 容如下 :
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 標(biāo)簽 內(nèi)的 配置相一致 (在本例中該配置demo.DemoConfig)。
4.
在 demo 包下創(chuàng)建 HelloController類文件, 內(nèi)容如下:
package demo;
import com.jfinal.core.Controller;
public class HelloController extends Controller {
public void index() {
renderText("Hello JFinal world.");
}
}
5.啟動(dòng)項(xiàng)目:

鼠標(biāo)右鍵點(diǎn)擊 Java Application 并選擇 New菜單項(xiàng), 新建 Java Application 啟動(dòng)項(xiàng),如圖所示:
在右側(cè)窗口中的 Main class輸入 框中填: com.jfinal.core.JFinalc并點(diǎn)擊 Debug 按鍵啟動(dòng)項(xiàng)目,
6.
打開瀏覽器 在地址欄中輸入 : http://localhost/hello , 輸出內(nèi)容 為 Hello JFinal world 證明 項(xiàng)目框架搭建完成。
其中hello對(duì)應(yīng)DemoConfig類中configRoute方法中的字符串hello