版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級2單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級2目錄頁第二章第二章 核心技術(shù)(架構(gòu)、原理)第三章第三章 項目實戰(zhàn)第一章第一章 認(rèn)識JFinal第四章第四章 常見問題3單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級3第一章 認(rèn)識JFinal4單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級4What is What is JFinalJFinal? ? 第一章 認(rèn)識JFinalJFinal是基于Java 語
2、言的極速 web 開發(fā)框架,其核心設(shè)計目標(biāo)是開發(fā)迅速、代碼量少、學(xué)習(xí)簡單、功能強(qiáng)大、輕量級、易擴(kuò)展、Restful。在擁有Java語言所有優(yōu)勢的同時再擁有ruby、Python、PHP等動態(tài)語言的開發(fā)效率。(為您節(jié)省更多的時間去陪戀人、家人和朋友o()o)5單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級5JFinal特點(一)1)MVC架構(gòu),設(shè)計精巧,使用簡單2)遵循COC原則,零配置,無xml3)獨創(chuàng)Db+Record模式,靈活便利4)ActiveRecord支持,使數(shù)據(jù)庫開發(fā)極致快速第一章 認(rèn)識JFinal5)自動加載修改后的java文件,開發(fā)過程中無需
3、重webserver大道至簡,微內(nèi)核全方位擴(kuò)展架構(gòu)6單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級6JFinal特點(二)6)AOP支持,攔截器配置靈活,功能強(qiáng)大7)Plugin體系結(jié)構(gòu),擴(kuò)展性強(qiáng)8)多視圖支持,支持FreeMarker、JSP、Velocity9)強(qiáng)大的Validator后端校驗功能第一章 認(rèn)識JFinal10)功能齊全,擁有struts2的絕大部分功能11)體積小僅670K670K,且無第三方依賴7單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級7第一章 認(rèn)識JFinal1 1)有java基礎(chǔ)2 2)想往
4、javaweb方向轉(zhuǎn)的開發(fā)人員3 3)受夠了SSH,想學(xué)一門簡單實用的框架4 4)需求極速開發(fā)解決方案的開發(fā)者1 12 23 34 4什么樣的人適合這門課程8單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級8第一章 認(rèn)識JFinalJFinal能做什么類型的項目nWEB項目項目 - 使用jsp+servlet都能開發(fā),更何況. - 對Servlet的極薄封裝,理論上來說Servet能做到的就可以做到nJFinal ORM 部分可以單獨拿出來用于非部分可以單獨拿出來用于非web項目項目n移動設(shè)備項目移動設(shè)備項目 - JFinal ActiveRecordPlug
5、in用于android的sqlite綜上所述,JFinal最擅長的應(yīng)用場景是Web項目,Web之外ActiveRecord應(yīng)用最為常見開發(fā)什么項目不僅框架選型決定,還涉及到個人對項目和技術(shù)的駕馭能力9單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級9更簡潔,更輕松,更極速u 開發(fā)項目重在業(yè)務(wù)邏輯,框架只是提供工具而已u 做同一個類型的項目,不同技術(shù)系的開發(fā)者只會選擇自己熟悉的框架而已第一章 認(rèn)識JFinal10單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級10第一章 認(rèn)識JFinal學(xué)會了Jfinal,我們能做什么?11單擊
6、此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級11第二章 核心技術(shù)12單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級12第二章 核心技術(shù)微內(nèi)核全方位擴(kuò)展架構(gòu)Handler(處理器)Interceptor(攔截器)Controller(處理器)Render(渲染VIEW)Plugin(插件擴(kuò)展)13單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級13第二章 核心技術(shù)邏輯架構(gòu)14單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級14運作原理1.首先是客戶端點擊新增按
7、鈕,提交一個新增請求,請求中會帶上服務(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)造出Actio
8、nInvocation。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ù)15單擊此處編輯母版標(biāo)題樣式
9、 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級15u Aop:攔截器u Config:通用配置u Core:核心處理,主要是Controller的調(diào)度u Ext:擴(kuò)展包u Handler:全局處理器u I18N:國際化u Json:json數(shù)據(jù)的一些常用操作u kit:一些工具類u Log:日志類u Plugin:插件處理u Render:渲染處理,比如對于FreeMark的支持u Server:服務(wù)器u Token:令牌u Upload:文件上傳處理u Validate:驗證處理,主要是數(shù)據(jù)持久化時的驗證第二章 核心技術(shù)包簡介16單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式
10、 第二級 第三級 第四級 第五級16第二章 核心技術(shù)關(guān)注關(guān)鍵的核心類nJFinalConfignControllernActiveRecordnAOPnEhCachePluginnValidatorJfinal體積雖小,但“麻雀雖小五臟俱全”,而且功能體系還是很龐大的17單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級17第二章 核心技術(shù)1.JFinalConfig用于對整個用于對整個webweb項目的整體配置項目的整體配置18單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級18第二章 核心技術(shù)1.JFinalConfigco
11、nfigConstantconfigConstant(Constants me)(Constants me)19單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級19第二章 核心技術(shù)1.JFinalConfigconfigRouteconfigRoute(Routes me)(Routes me)20單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級20第二章 核心技術(shù)1.JFinalConfigconfigRouteconfigRoute(Routes me)(Routes me)21單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文
12、本樣式 第二級 第三級 第四級 第五級21第二章 核心技術(shù)1.JFinalConfigconfigRouteconfigRoute(Routes me)(Routes me)22單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級22第二章 核心技術(shù)1.JFinalConfigconfigPluginconfigPlugin (Plugins me) (Plugins me)23單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級23第二章 核心技術(shù)1.JFinalConfigconfigInterceptorconfigInterc
13、eptor (Interceptors me) (Interceptors me)24單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級24第二章 核心技術(shù)1.JFinalConfigconfigHandlerconfigHandler (Handlers me) (Handlers me)25單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級25第二章 核心技術(shù)2.ControllerMVCMVC模式中的控制器模式中的控制器26單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級26第二章 核心技術(shù)
14、2.ControllergetParagetPara 系列方法系列方法27單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級27第二章 核心技術(shù)2.ControllergetModelgetModel與與getBeangetBean系列方法系列方法getModel 用來接收頁面表單域傳遞過來的 model 對象,表單域名稱以”modelName.attrName” 方式命名。 除了 getModel 以外, 還提供了一個 getBean 方法用于支持傳統(tǒng)的 Java Bean。28單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級
15、28第二章 核心技術(shù)29單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級29第二章 核心技術(shù)2.ControllersetAttrsetAttr方法和方法和sessionsession操作方法操作方法30單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級30第二章 核心技術(shù)2.ControllerRenderRender系列方法系列方法31單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級31第二章 核心技術(shù)3.ActiveRecord用于操作數(shù)據(jù),將極大減少代碼量用于操作數(shù)據(jù),將極大減少代碼量3
16、2單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級32第二章 核心技術(shù)3.ActiveRecordJFinalJFinal 獨創(chuàng)獨創(chuàng) Db + Record Db + Record 模式模式33單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級33第二章 核心技術(shù)3.ActiveRecord聲明式事務(wù)聲明式事務(wù)34單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級34第二章 核心技術(shù)3.ActiveRecordCacheCache緩存機(jī)制緩存機(jī)制35單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣
17、式 第二級 第三級 第四級 第五級35第二章 核心技術(shù)3.ActiveRecord復(fù)合主鍵復(fù)合主鍵36單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級36第二章 核心技術(shù)3.ActiveRecord多數(shù)據(jù)源支持多數(shù)據(jù)源支持37單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級373.ActiveRecord多數(shù)據(jù)源支持多數(shù)據(jù)源支持第二章 核心技術(shù)38單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級384.AOP面向切面編程面向切面編程第二章 核心技術(shù)39單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版
18、文本樣式 第二級 第三級 第四級 第五級394.AOPInterceptor-Interceptor-攔截方法攔截方法 添加切面添加切面第二章 核心技術(shù)40單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級40第二章 核心技術(shù)4.AOPInterceptor-invocationInterceptor-invocation參數(shù)妙用參數(shù)妙用41單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級414.AOPBefore-Before-攔截器的注解配置攔截器的注解配置第二章 核心技術(shù)42單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣
19、式 第二級 第三級 第四級 第五級42第二章 核心技術(shù)4.AOPBefore-Before-全局?jǐn)r截器和全局?jǐn)r截器和injectinject攔截器攔截器JFinal 還支持全局?jǐn)r截器以及 Inject 攔截器。全局?jǐn)r截器需要在 YourJFinalConfig 進(jìn)行配置, 以下是配置示例:43單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級434.AOPClear-Clear-清除攔截器清除攔截器第二章 核心技術(shù)44單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級444.AOPClear-Clear-無參無參 有參清楚有參清楚
20、第二章 核心技術(shù)45單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級454.AOPInterceptor Interceptor 的觸發(fā)的觸發(fā)第二章 核心技術(shù)JFinal 中的 AOP 被劃分為控制層 AOP 以及業(yè)務(wù)層 AOP,嚴(yán)格來說業(yè)務(wù)層 AOP 并非僅限于在業(yè)務(wù)層使用,因為 JFinal AOP 可以應(yīng)用于其它任何地方。46單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級46第三章 項目實戰(zhàn)47單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級47第三章 項目實戰(zhàn)1.Eclipse/My
21、Eclipse或者IntelliJIDEA2.JFinal的jar包3.JDK1.7+4.Jetty Server(JFinal自帶的一個服務(wù)器)搭建前準(zhǔn)備搭建前準(zhǔn)備工欲善其事,必先利其器Eclipse下載地址/downloadsJDK下載地址http:/ http:/ 當(dāng)前最新的版本為jfinal-2.2-all.aip48單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級485、JFinal配置類創(chuàng)建6、Web.xml配置7、項目分包8、啟動服務(wù)器調(diào)試1、Web項目創(chuàng)建2、JFinal版本選擇3、導(dǎo)入依賴包4、創(chuàng)建數(shù)
22、據(jù)庫開發(fā)環(huán)境搭建流程第三章 項目實戰(zhàn)49單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級49第三章 項目實戰(zhàn)Web項目創(chuàng)建項目創(chuàng)建注意: Target runtime 一定要選擇50單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級50第三章 項目實戰(zhàn)第三章 項目實戰(zhàn)Jfinal版本選擇版本選擇當(dāng)前官方最新是2.2版本51單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級51第三章 項目實戰(zhàn)導(dǎo)入依賴導(dǎo)入依賴jar包包輕量輕量快捷快捷可拓展可拓展52單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式
23、 第二級 第三級 第四級 第五級52第三章 項目實戰(zhàn)第三章 項目實戰(zhàn)創(chuàng)建數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫選擇oracle數(shù)據(jù)庫53單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級53第三章 項目實戰(zhàn)Jfinal配置類創(chuàng)建配置類創(chuàng)建54單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級54第三章 項目實戰(zhàn)Web.xml配置配置主要是配置Jfinal過濾器55單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級55第三章 項目實戰(zhàn)項目分包項目分包Jfinal MVC架構(gòu):跟普遍的mvc架構(gòu)一樣56單擊此處編輯母版標(biāo)題樣
24、式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級56第三章 項目實戰(zhàn)啟動服務(wù)調(diào)試啟動服務(wù)調(diào)試jetty-server-8.1.8.jar拷入。直接RunAs啟動即可:看看Jfinal的環(huán)境是否搭建成功:以下是成功的范例57單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級57第三章 項目實戰(zhàn)項目實操預(yù)估耗時預(yù)估耗時1525分鐘分鐘58單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級58第四章 常見問題59單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級59常見問題1、Can not
25、create instance of class: demo.DemoConfig一、應(yīng)該是你的路徑有問題, 打開你項目的java build path面板, 然后找到default output folder, 把這里的輸出改為your_project/WebRoot/WEB-INF/classes。二、java build path面板中的Libraries中有部分庫導(dǎo)入異常,檢查出來修復(fù)就行。60單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級60常見問題2、如果更改JFinal的web.xml 攔截后綴名 jfinal /* “/*”不能正確處理“.h
26、tml”這種后綴的動態(tài)請求。 新增一個HtmSkipHandler文件 public class HtmSkipHandler extends Handler public void handle(String target, HttpServletRequest request, HttpServletResponse response, boolean isHandled) int index = target.lastIndexOf(.htm); if (index != -1) target = target.substring(0, index); nextHandler.handle(target, request, response, isHandled); 在JfinalConfig文件中的configHandler新增me.add(new HtmSkipHandler();61單擊此處編輯母版標(biāo)題樣式 單擊此處編輯母版文本樣式 第二級 第三級 第四級 第五級61常見問題3、JFi
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 車站裝修批蕩施工協(xié)議
- 防腐施工應(yīng)急預(yù)案合同
- 互聯(lián)網(wǎng)項目招投標(biāo)合同注意事項
- 化工行業(yè)招待費管理新方法
- 花藝助理勞動合同注意事項
- 供水供電收費管理:發(fā)票管理辦法
- 食品飲料輸送管道施工
- 2025版空置房屋閑置資源盤活利用合作開發(fā)合同3篇
- 臨時辦學(xué)場所租賃合同
- 2025版二零二五年度新能源充電樁建設(shè)與運營合同3篇
- 農(nóng)村污水處理設(shè)施運維方案特別維護(hù)應(yīng)急處理預(yù)案
- 幕墻工程專項施工方案審批流程
- 新視野英語教程(第四版)讀寫教程1 期末測試卷 測試卷A
- 【施工組織方案】框架結(jié)構(gòu)施工組織設(shè)計
- 人工智能背景下高校智慧思政建設(shè)
- 高考物理復(fù)習(xí)講義第88講 電磁感應(yīng)中的雙桿模型(解析版)
- 市級課題研究成果案例一等獎《“教研訓(xùn)一體化”混合式培訓(xùn)模式的建構(gòu)與實踐》
- 老年人的心肺復(fù)蘇課件
- 貴州省畢節(jié)市威寧彝族回族苗族自治縣2023-2024學(xué)年八年級上學(xué)期期末數(shù)學(xué)試題(含答案)
- 6.2密度說課課件(23)2022-2023學(xué)年人教版物理八年級上冊
- 智慧樹知到《軍事理論-軍事思想強(qiáng)化版》章節(jié)測試答案
評論
0/150
提交評論