JFinal開發環境搭建,JFinal開發案例
JFinal 是基於 Java 語言的極速 WEB + ORM 開發框架,其核心設計目標是開發迅速、程式碼量少、學習簡單、功能強大、輕量級、易擴充套件、Restful。在擁有Java 語言所有優勢的同時再擁有 ruby、python、php 等動態語言的開發效率!
JFinal 有如下主要特點:l MVC 架構,設計精巧,使用簡單l遵循 COC 原則,零配置,無 xml
l獨創 Db + Record 模式,靈活便利l ActiveRecord 支援,使資料庫開發極致快速l自動載入修改後的 java 檔案,開發過程中無需重啟 web server
l AOP 支援,攔截器配置靈活,功能強大
l強大的 Validator 後端校驗功能l功能齊全,擁有 struts2 絕大部分核心功能l體積小僅 218K,且無第三方依賴
官方推薦用EclipseIDE for Java EE Developers 做為開發環境
1、建立 Dynamic WebProject
2、修改 Default OutputFolder,推薦輸入 WebRoot\WEB-INF\classes
特別注意:此處的 Default out folder 必須要與 WebRoot\WEB-INF\classes 目錄
3、修改 Content directory,推薦輸入 WebRoot
注意:此處也可以使用默認值 WebContent ,但上一步中的
WebRoot\WEB-INF\classes 則需要改成 WebContent\WEB-INF\classes 才能對應上。
4、去官網(http://www.jfinal.com/)下載最新的jar包(我這是jfinal-2.0-bin.jar)
把jetty-server-8.1.8.jar 和jfinal-2.0-bin.jar放到專案WEB-INF\lib下,jetty-server-8.1.8.jar
最終建立的專案結構圖如下(注意:下面的jar包用的是開源專案eova中的):
5、其中web.xml的內容如下(注意下面的:demo.DemoConfig指的就是上圖的DemoConfig)
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<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>
</web-app>
6、在專案 src 目錄下建立 demo 包,並在 demo 包下建立DemoConfig 檔案,內容如下:
package demo;
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;
publicclass DemoConfig extends JFinalConfig {
@Override
publicvoid configConstant(Constants me) {
me.setDevMode(true);
}
@Override
publicvoid configRoute(Routes me) {
me.add("/hello", HelloController.class);
}
@Override
publicvoid configPlugin(Plugins me) {}
@Override
publicvoid configInterceptor(Interceptors me) {}
@Override
publicvoid configHandler(Handlers me) {}
}
注意:DemoConfig.java 檔案所在的包以及自身檔名必須與 web.xml 中的param-value 標籤內的配置相一致(在本例中該配置為 demo.DemoConfig)。
在 demo 包下建立 HelloController 類檔案,內容如下:
package demo;
import com.jfinal.core.Controller;
publicclass HelloController extends Controller {
publicvoid index() {
renderText("Hello JFinal World.");
}
}
6、選中專案名,選擇除錯下拉選下面的DebugConfigurations
選中com.jfinal.core.JFinal ok
7、瀏覽器輸入輸出內容為 HelloJFinal World 證明專案框架搭建完成。
注意:在 tomcat 下開發或執行專案時,需要先刪除 jetty-server-xxx.jar 這個包,否則會引起衝突。
(注意:上面的過程是JFinal手冊中的)