JFinal框架應(yīng)用與實踐_第1頁
JFinal框架應(yīng)用與實踐_第2頁
JFinal框架應(yīng)用與實踐_第3頁
JFinal框架應(yīng)用與實踐_第4頁
JFinal框架應(yīng)用與實踐_第5頁
已閱讀5頁,還剩60頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

JFinal框架應(yīng)用與實踐

目錄頁第二章核心技術(shù)(架構(gòu)、原理)第三章項目實戰(zhàn)第一章認(rèn)識JFinal第四章常見問題第一章認(rèn)識JFinalWhatisJFinal?

第一章認(rèn)識JFinalJFinal是基于Java語言的極速web開發(fā)框架,其核心設(shè)計目標(biāo)是開發(fā)迅速、代碼量少、學(xué)習(xí)簡單、功能強(qiáng)大、輕量級、易擴(kuò)展、Restful。在擁有Java語言所有優(yōu)勢的同時再擁有ruby、Python、PHP等動態(tài)語言的開發(fā)效率。(為您節(jié)省更多的時間去陪戀人、家人和朋友o(^▽^)o)JFinal特點(一)1)MVC架構(gòu),設(shè)計精巧,使用簡單

2)遵循COC原則,零配置,無xml

3)獨創(chuàng)Db

+

Record模式,靈活便利

4)ActiveRecord支持,使數(shù)據(jù)庫開發(fā)極致快速

第一章認(rèn)識JFinal5)自動加載修改后的java文件,開發(fā)過程中無需重web

server大道至簡,微內(nèi)核全方位擴(kuò)展架構(gòu)JFinal特點(二)6)AOP支持,攔截器配置靈活,功能強(qiáng)大

7)Plugin體系結(jié)構(gòu),擴(kuò)展性強(qiáng)

8)多視圖支持,支持FreeMarker、JSP、Velocity

9)強(qiáng)大的Validator后端校驗功能

第一章認(rèn)識JFinal10)功能齊全,擁有struts2的絕大部分功能

11)體積小僅670K,且無第三方依賴

第一章認(rèn)識JFinal1)有java基礎(chǔ)2)想往javaweb方向轉(zhuǎn)的開發(fā)人員3)受夠了SSH,想學(xué)一門簡單實用的框架4)需求極速開發(fā)解決方案的開發(fā)者1234什么樣的人適合這門課程第一章認(rèn)識JFinalJFinal能做什么類型的項目WEB項目

-使用jsp+servlet都能開發(fā),更何況...-對Servlet的極薄封裝,理論上來說Servet能做到的就可以做到JFinalORM部分可以單獨拿出來用于非web項目移動設(shè)備項目

-JFinalActiveRecordPlugin用于android的sqlite綜上所述,JFinal最擅長的應(yīng)用場景是Web項目,Web之外ActiveRecord應(yīng)用最為常見開發(fā)什么項目不僅框架選型決定,還涉及到個人對項目和技術(shù)的駕馭能力更簡潔,更輕松,更極速開發(fā)項目重在業(yè)務(wù)邏輯,框架只是提供工具而已做同一個類型的項目,不同技術(shù)系的開發(fā)者只會選擇自己熟悉的框架而已第一章認(rèn)識JFinal第一章認(rèn)識JFinal學(xué)會了Jfinal,我們能做什么?第二章核心技術(shù)第二章核心技術(shù)微內(nèi)核全方位擴(kuò)展架構(gòu)Handler(處理器)Interceptor(攔截器)Controller(處理器)Render(渲染VIEW)Plugin(插件擴(kuò)展)第二章核心技術(shù)邏輯架構(gòu)運作原理1.首先是客戶端點擊新增按鈕,提交一個新增請求,請求中會帶上服務(wù)端處理地址url2.所有請求都會被JFinalFilter攔截,然后調(diào)用Handler進(jìn)行詳細(xì)處理3.Handler是一個鏈條形式的調(diào)用,包括0-n個自定義Handler,以及最后一個ActionHandler,依次執(zhí)行,當(dāng)然可以自定義跳出。4.進(jìn)入ActionHandler后,首先會根據(jù)請求的target從緩存的ActionMapping中映射獲取到具體操作對應(yīng)的Action對象,這個對象里面封裝了方法名、方法上面的攔截器,方法所在的Controller,controller上面的攔截器等。然后根據(jù)Action以及Controller實例構(gòu)造出ActionInvocation。5.接下來通過ActionInvocation的invoke進(jìn)行具體處理,這是一個明顯的Command模式的實現(xiàn)。首先是攔截器的調(diào)用,攔截器調(diào)用中會重新回調(diào)ActionInvocation的invoke,當(dāng)攔截器調(diào)用完畢后,會調(diào)用當(dāng)前操作的method6.當(dāng)進(jìn)入具體controller的新增方法時,調(diào)用基類的getModel(Systemparam.class);這個方法會從request中解析出所需要的數(shù)據(jù),通過反射設(shè)置給具體的Model實體類,最終通過ActiveRecord來進(jìn)行數(shù)據(jù)存儲7.最后是頁面渲染rerender 第二章核心技術(shù)Aop:攔截器Config:通用配置Core:核心處理,主要是Controller的調(diào)度Ext:擴(kuò)展包Handler:全局處理器I18N:國際化Json:json數(shù)據(jù)的一些常用操作kit:一些工具類Log:日志類Plugin:插件處理Render:渲染處理,比如對于FreeMark的支持Server:服務(wù)器Token:令牌Upload:文件上傳處理Validate:驗證處理,主要是數(shù)據(jù)持久化時的驗證第二章核心技術(shù)包簡介第二章核心技術(shù)關(guān)注關(guān)鍵的核心類JFinalConfigControllerActiveRecordAOPEhCachePluginValidatorJfinal體積雖小,但“麻雀雖小五臟俱全”,而且功能體系還是很龐大的→第二章核心技術(shù)1.JFinalConfig用于對整個web項目的整體配置第二章核心技術(shù)1.JFinalConfigconfigConstant(Constantsme)第二章核心技術(shù)1.JFinalConfigconfigRoute(Routesme)第二章核心技術(shù)1.JFinalConfigconfigRoute(Routesme)第二章核心技術(shù)1.JFinalConfigconfigRoute(Routesme)第二章核心技術(shù)1.JFinalConfigconfigPlugin(Pluginsme)第二章核心技術(shù)1.JFinalConfigconfigInterceptor(Interceptorsme)第二章核心技術(shù)1.JFinalConfigconfigHandler(Handlersme)第二章核心技術(shù)2.ControllerMVC模式中的控制器第二章核心技術(shù)2.ControllergetPara系列方法第二章核心技術(shù)2.ControllergetModel與getBean系列方法getModel用來接收頁面表單域傳遞過來的model對象,表單域名稱以”modelName.attrName”方式命名。除了getModel以外,還提供了一個getBean方法用于支持傳統(tǒng)的JavaBean。第二章核心技術(shù)第二章核心技術(shù)2.ControllersetAttr方法和session操作方法第二章核心技術(shù)2.ControllerRender系列方法第二章核心技術(shù)3.ActiveRecord用于操作數(shù)據(jù),將極大減少代碼量第二章核心技術(shù)3.ActiveRecordJFinal獨創(chuàng)Db+Record模式第二章核心技術(shù)3.ActiveRecord聲明式事務(wù)第二章核心技術(shù)3.ActiveRecordCache緩存機(jī)制第二章核心技術(shù)3.ActiveRecord復(fù)合主鍵第二章核心技術(shù)3.ActiveRecord多數(shù)據(jù)源支持3.ActiveRecord多數(shù)據(jù)源支持第二章核心技術(shù)4.AOP面向切面編程第二章核心技術(shù)4.AOPInterceptor-攔截方法添加切面第二章核心技術(shù)第二章核心技術(shù)4.AOPInterceptor-invocation參數(shù)妙用……4.AOPBefore-攔截器的注解配置第二章核心技術(shù)第二章核心技術(shù)4.AOPBefore-全局?jǐn)r截器和inject攔截器JFinal還支持全局?jǐn)r截器以及Inject攔截器。全局?jǐn)r截器需要在YourJFinalConfig進(jìn)行配置,以下是配置示例:4.AOPClear-清除攔截器第二章核心技術(shù)4.AOPClear-無參有參清楚第二章核心技術(shù)4.AOPInterceptor的觸發(fā)第二章核心技術(shù)JFinal中的AOP被劃分為控制層AOP以及業(yè)務(wù)層AOP,嚴(yán)格來說業(yè)務(wù)層AOP并非僅限于在業(yè)務(wù)層使用,因為JFinalAOP可以應(yīng)用于其它任何地方。第三章項目實戰(zhàn)第三章項目實戰(zhàn)1.Eclipse/MyEclipse或者IntelliJIDEA2.JFinal的jar包3.JDK1.7+4.JettyServer(JFinal自帶的一個服務(wù)器)搭建前準(zhǔn)備工欲善其事,必先利其器Eclipse下載地址/downloadsJDK下載地址/technetwork/java/javase/downloadsJFinal下載地址當(dāng)前最新的版本為jfinal-2.2-all.aip5、JFinal配置類創(chuàng)建6、Web.xml配置7、項目分包8、啟動服務(wù)器調(diào)試1、Web項目創(chuàng)建2、JFinal版本選擇3、導(dǎo)入依賴包4、創(chuàng)建數(shù)據(jù)庫開發(fā)環(huán)境搭建流程第三章項目實戰(zhàn)第三章項目實戰(zhàn)Web項目創(chuàng)建注意:Targetruntime一定要選擇<None>第三章項目實戰(zhàn)第三章項目實戰(zhàn)Jfinal版本選擇——當(dāng)前官方最新是2.2版本第三章項目實戰(zhàn)導(dǎo)入依賴jar包輕量快捷可拓展第三章項目實戰(zhàn)第三章項目實戰(zhàn)創(chuàng)建數(shù)據(jù)庫——選擇oracle數(shù)據(jù)庫第三章項目實戰(zhàn)Jfinal配置類創(chuàng)建第三章項目實戰(zhàn)Web.xml配置——主要是配置Jfinal過濾器第三章項目實戰(zhàn)項目分包——JfinalMVC架構(gòu):跟普遍的mvc架構(gòu)一樣第三章項目實戰(zhàn)啟動服務(wù)調(diào)試jetty-server-8.1.8.jar拷入。直接RunAs啟動即可:看看Jfinal的環(huán)境是否搭建成功:以下是成功的范例第三章項目實戰(zhàn)項目實操預(yù)估耗時15~25分鐘第四章常見問題常見問題1、Cannotcreateinstanceofclass:demo.DemoConfig一、應(yīng)該是你的路徑有問題,打開你項目的javabuildpath面板,然后找到defaultoutputfolder,把這里的輸出改為your_project/WebRoot/WEB-INF/classes。二、javabuildpath面板中的Libraries中有部分庫導(dǎo)入異常,檢查出來修復(fù)就行。常見問題2、如果更改JFinal的web.xml攔截后綴名<filter-mapping>

<filter-name>jfinal</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

“/*”不能正確處理“.html”這種后綴的動態(tài)請求。

新增一個HtmSkipHandler文件

publicclass

HtmSkipHandler

extendsHandler{

publicvoidhandle(Stringtarget,HttpServletRequestrequest,HttpServletResponseresponse,boolean[]isHandled){

intindex=target.lastIndexOf(".htm");

if(index!=-1)

target=target.substring(0,index);

nextHandler.handle(target,request,response,isHandled);

}

}在JfinalConfig文件中的configHandler新增me.add(newHtmSkipHandler());常見問題3、JFinal設(shè)置404和500等頁面publicvoidconfigConstant(Constantsme){me.setError404View(TEMPLATE_PATH+"/error/404.html");me.setError500View(TEMPLATE_PATH+"/error/500.html");}常見問題4、Jfinal中文亂碼問題-1(1)Config配置:YourJFinalConfig.configConstant(Constantsme){me.setEncoding("utf-8")};(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論