JFinal开发环境搭建,JFinal开发案例
JFinal? 是基于 Java? 語言的極速? WEB? + ORM? 開發(fā)框架,其核心設(shè)計目標是開發(fā)迅速、代碼量少、學習簡單、功能強大、輕量級、易擴展、Restful。在擁有Java 語言所有優(yōu)勢的同時再擁有 ruby、python、php 等動態(tài)語言的開發(fā)效率!
JFinal 有如下主要特點:
l? MVC 架構(gòu),設(shè)計精巧,使用簡單
l? 遵循 COC 原則,零配置,無 xml
l? 獨創(chuàng) Db + Record 模式,靈活便利
l? ActiveRecord 支持,使數(shù)據(jù)庫開發(fā)極致快速
l? 自動加載修改后的 java 文件,開發(fā)過程中無需重啟 web server
l? AOP 支持,攔截器配置靈活,功能強大
l? Plugin 體系結(jié)構(gòu),擴展性強
l? 多視圖支持,支持 FreeMarker、JSP、Velocity
l? 強大的 Validator 后端校驗功能
l? 功能齊全,擁有 struts2 絕大部分核心功能
l? 體積小僅 218K,且無第三方依賴
官方推薦用EclipseIDE for Java EE Developers 做為開發(fā)環(huán)境
1、創(chuàng)建 Dynamic WebProject
2、修改 Default OutputFolder,推薦輸入 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 才能對應(yīng)上。?
4、去官網(wǎng)(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是開發(fā)時使用的運行環(huán)境,用tomact和生產(chǎn)環(huán)境下就不需要了
最終創(chuàng)建的項目結(jié)構(gòu)圖如下(注意:下面的jar包用的是開源項目eova中的):
5、其中web.xml的內(nèi)容如下(注意下面的: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 目錄下創(chuàng)建 demo 包,并在 demo 包下創(chuàng)建DemoConfig 文件,?? 內(nèi)容如下:
| 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; ? public class DemoConfig extends JFinalConfig { ??? @Override ??? public void configConstant(Constants me) { ?????? me.setDevMode(true); ??? } ??? @Override ??? public void configRoute(Routes me) { ?????? me.add("/hello", HelloController.class); ??? } ??? @Override ??? public void configPlugin(Plugins me) {} ??? @Override ??? public void configInterceptor(Interceptors me) {} ??? @Override ??? public void configHandler(Handlers me) {} } |
注意:DemoConfig.java 文件所在的包以及自身文件名必須與 web.xml 中的param-value 標簽內(nèi)的配置相一致(在本例中該配置為 demo.DemoConfig)。
在 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."); ??? } } |
?
6、選中項目名,選擇調(diào)試下拉選下面的DebugConfigurations
選中com.jfinal.core.JFinal? ok
7、瀏覽器輸入http://localhost/hello輸出內(nèi)容為 HelloJFinal World 證明項目框架搭建完成。
注意:在 tomcat 下開發(fā)或運行項目時,需要先刪除? jetty-server-xxx.jar 這個包,否則會引起沖突。
(注意:上面的過程是JFinal手冊中的)
總結(jié)
以上是生活随笔為你收集整理的JFinal开发环境搭建,JFinal开发案例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Windows使用git工具将代码同步
- 下一篇: Android Studio相关资料链接