1. 程式人生 > >JFinal開發環境搭建,JFinal開發案例

JFinal開發環境搭建,JFinal開發案例



JFinal  是基於 Java  語言的極速  WEB  + ORM  開發框架,其核心設計目標是開發迅速、程式碼量少、學習簡單、功能強大、輕量級、易擴充套件、Restful。在擁有Java 語言所有優勢的同時再擁有 rubypythonphp 等動態語言的開發效率!

JFinal 有如下主要特點:l  MVC 架構,設計精巧,使用簡單l遵循 COC 原則,零配置,無 xml
l獨創 Db + Record 模式,靈活便利
l  ActiveRecord 支援,使資料庫開發極致快速l自動載入修改後的 java 檔案,開發過程中無需重啟 web server
l  AOP 支援,攔截器配置靈活,功能強大

l  Plugin 體系結構,擴充套件性強l多檢視支援,支援 FreeMarkerJSPVelocity
l強大的 Validator 後端校驗功能
l功能齊全,擁有 struts2 絕大部分核心功能l體積小僅 218K,且無第三方依賴

官方推薦用EclipseIDE for Java EE Developers 做為開發環境

1、建立 Dynamic WebProject

2、修改 Default OutputFolder,推薦輸入 WebRoot\WEB-INF\classes

http://images.cnitblog.com/blog/484899/201308/18004917-83d6f0a6ca294e399078425bd2e82d9e.png

特別注意:此處的 Default out folder 必須要與  WebRoot\WEB-INF\classes  目錄

完全一致才可以使用  JFinal  整合的  Jetty  來啟動專案。

3、修改 Content directory,推薦輸入 WebRoot

http://images.cnitblog.com/blog/484899/201308/18005141-15480cb165724f0299269b5a07900418.png

使 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

是開發時使用的執行環境,用tomact和生產環境下就不需要了

最終建立的專案結構圖如下(注意:下面的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手冊中的)