版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度廚師技能培訓(xùn)與聘用合同范本3篇
- 加彈網(wǎng)絡(luò)絲行業(yè)行業(yè)發(fā)展趨勢及投資戰(zhàn)略研究分析報告
- 2025年度消防產(chǎn)品認(rèn)證代理服務(wù)合同標(biāo)準(zhǔn)版4篇
- 中國家用表面清潔劑行業(yè)發(fā)展前景預(yù)測及投資戰(zhàn)略研究報告
- 2025年綿羊皮女洋裝項目投資可行性研究分析報告
- 2025年度個人汽車租賃保險理賠細(xì)則合同4篇
- 環(huán)保PPP模式應(yīng)用市場供需現(xiàn)狀及投資戰(zhàn)略研究報告
- 2025年度汽車租賃合同范本適用于二零二五年度11篇
- 2025年度個人房產(chǎn)買賣合同(含家具家電)
- 2025年廣州越秀企業(yè)集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 農(nóng)用地土壤環(huán)境質(zhì)量類別劃分技術(shù)指南(試行)(環(huán)辦土壤2017第97號)
- 反向開票政策解讀課件
- 工程周工作計劃
- 房地產(chǎn)銷售任務(wù)及激勵制度
- 六年級語文下冊14文言文二則《學(xué)弈》課件
- 2024年內(nèi)蒙古中考語文試卷五套合卷附答案
- 并購指南(如何發(fā)現(xiàn)好公司)
- 垃圾分類亭合同協(xié)議書
- 物權(quán)轉(zhuǎn)移協(xié)議
- 高三高考地理一輪課時練習(xí):洋流(單選題)
- 2024年餐飲類“食品安全及質(zhì)量管理員”知識考試題庫(附含答案)
評論
0/150
提交評論