版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
JFinal框架應用與實踐
目錄頁第二章核心技術(架構、原理)第三章項目實戰(zhàn)第一章認識JFinal第四章常見問題第一章認識JFinalWhatisJFinal?
第一章認識JFinalJFinal是基于Java語言的極速web開發(fā)框架,其核心設計目標是開發(fā)迅速、代碼量少、學習簡單、功能強大、輕量級、易擴展、Restful。在擁有Java語言所有優(yōu)勢的同時再擁有ruby、Python、PHP等動態(tài)語言的開發(fā)效率。(為您節(jié)省更多的時間去陪戀人、家人和朋友o(^▽^)o)JFinal特點(一)1)MVC架構,設計精巧,使用簡單
2)遵循COC原則,零配置,無xml
3)獨創(chuàng)Db
+
Record模式,靈活便利
4)ActiveRecord支持,使數(shù)據(jù)庫開發(fā)極致快速
第一章認識JFinal5)自動加載修改后的java文件,開發(fā)過程中無需重web
server大道至簡,微內核全方位擴展架構JFinal特點(二)6)AOP支持,攔截器配置靈活,功能強大
7)Plugin體系結構,擴展性強
8)多視圖支持,支持FreeMarker、JSP、Velocity
9)強大的Validator后端校驗功能
第一章認識JFinal10)功能齊全,擁有struts2的絕大部分功能
11)體積小僅670K,且無第三方依賴
第一章認識JFinal1)有java基礎2)想往javaweb方向轉的開發(fā)人員3)受夠了SSH,想學一門簡單實用的框架4)需求極速開發(fā)解決方案的開發(fā)者1234什么樣的人適合這門課程第一章認識JFinalJFinal能做什么類型的項目WEB項目
-使用jsp+servlet都能開發(fā),更何況...-對Servlet的極薄封裝,理論上來說Servet能做到的就可以做到JFinalORM部分可以單獨拿出來用于非web項目移動設備項目
-JFinalActiveRecordPlugin用于android的sqlite綜上所述,JFinal最擅長的應用場景是Web項目,Web之外ActiveRecord應用最為常見開發(fā)什么項目不僅框架選型決定,還涉及到個人對項目和技術的駕馭能力更簡潔,更輕松,更極速開發(fā)項目重在業(yè)務邏輯,框架只是提供工具而已做同一個類型的項目,不同技術系的開發(fā)者只會選擇自己熟悉的框架而已第一章認識JFinal第一章認識JFinal學會了Jfinal,我們能做什么?第二章核心技術第二章核心技術微內核全方位擴展架構Handler(處理器)Interceptor(攔截器)Controller(處理器)Render(渲染VIEW)Plugin(插件擴展)第二章核心技術邏輯架構運作原理1.首先是客戶端點擊新增按鈕,提交一個新增請求,請求中會帶上服務端處理地址url2.所有請求都會被JFinalFilter攔截,然后調用Handler進行詳細處理3.Handler是一個鏈條形式的調用,包括0-n個自定義Handler,以及最后一個ActionHandler,依次執(zhí)行,當然可以自定義跳出。4.進入ActionHandler后,首先會根據(jù)請求的target從緩存的ActionMapping中映射獲取到具體操作對應的Action對象,這個對象里面封裝了方法名、方法上面的攔截器,方法所在的Controller,controller上面的攔截器等。然后根據(jù)Action以及Controller實例構造出ActionInvocation。5.接下來通過ActionInvocation的invoke進行具體處理,這是一個明顯的Command模式的實現(xiàn)。首先是攔截器的調用,攔截器調用中會重新回調ActionInvocation的invoke,當攔截器調用完畢后,會調用當前操作的method6.當進入具體controller的新增方法時,調用基類的getModel(Systemparam.class);這個方法會從request中解析出所需要的數(shù)據(jù),通過反射設置給具體的Model實體類,最終通過ActiveRecord來進行數(shù)據(jù)存儲7.最后是頁面渲染rerender 第二章核心技術Aop:攔截器Config:通用配置Core:核心處理,主要是Controller的調度Ext:擴展包Handler:全局處理器I18N:國際化Json:json數(shù)據(jù)的一些常用操作kit:一些工具類Log:日志類Plugin:插件處理Render:渲染處理,比如對于FreeMark的支持Server:服務器Token:令牌Upload:文件上傳處理Validate:驗證處理,主要是數(shù)據(jù)持久化時的驗證第二章核心技術包簡介第二章核心技術關注關鍵的核心類JFinalConfigControllerActiveRecordAOPEhCachePluginValidatorJfinal體積雖小,但“麻雀雖小五臟俱全”,而且功能體系還是很龐大的→第二章核心技術1.JFinalConfig用于對整個web項目的整體配置第二章核心技術1.JFinalConfigconfigConstant(Constantsme)第二章核心技術1.JFinalConfigconfigRoute(Routesme)第二章核心技術1.JFinalConfigconfigRoute(Routesme)第二章核心技術1.JFinalConfigconfigRoute(Routesme)第二章核心技術1.JFinalConfigconfigPlugin(Pluginsme)第二章核心技術1.JFinalConfigconfigInterceptor(Interceptorsme)第二章核心技術1.JFinalConfigconfigHandler(Handlersme)第二章核心技術2.ControllerMVC模式中的控制器第二章核心技術2.ControllergetPara系列方法第二章核心技術2.ControllergetModel與getBean系列方法getModel用來接收頁面表單域傳遞過來的model對象,表單域名稱以”modelName.attrName”方式命名。除了getModel以外,還提供了一個getBean方法用于支持傳統(tǒng)的JavaBean。第二章核心技術第二章核心技術2.ControllersetAttr方法和session操作方法第二章核心技術2.ControllerRender系列方法第二章核心技術3.ActiveRecord用于操作數(shù)據(jù),將極大減少代碼量第二章核心技術3.ActiveRecordJFinal獨創(chuàng)Db+Record模式第二章核心技術3.ActiveRecord聲明式事務第二章核心技術3.ActiveRecordCache緩存機制第二章核心技術3.ActiveRecord復合主鍵第二章核心技術3.ActiveRecord多數(shù)據(jù)源支持3.ActiveRecord多數(shù)據(jù)源支持第二章核心技術4.AOP面向切面編程第二章核心技術4.AOPInterceptor-攔截方法添加切面第二章核心技術第二章核心技術4.AOPInterceptor-invocation參數(shù)妙用……4.AOPBefore-攔截器的注解配置第二章核心技術第二章核心技術4.AOPBefore-全局攔截器和inject攔截器JFinal還支持全局攔截器以及Inject攔截器。全局攔截器需要在YourJFinalConfig進行配置,以下是配置示例:4.AOPClear-清除攔截器第二章核心技術4.AOPClear-無參有參清楚第二章核心技術4.AOPInterceptor的觸發(fā)第二章核心技術JFinal中的AOP被劃分為控制層AOP以及業(yè)務層AOP,嚴格來說業(yè)務層AOP并非僅限于在業(yè)務層使用,因為JFinalAOP可以應用于其它任何地方。第三章項目實戰(zhàn)第三章項目實戰(zhàn)1.Eclipse/MyEclipse或者IntelliJIDEA2.JFinal的jar包3.JDK1.7+4.JettyServer(JFinal自帶的一個服務器)搭建前準備工欲善其事,必先利其器Eclipse下載地址/downloadsJDK下載地址/technetwork/java/javase/downloadsJFinal下載地址當前最新的版本為jfinal-2.2-all.aip5、JFinal配置類創(chuàng)建6、Web.xml配置7、項目分包8、啟動服務器調試1、Web項目創(chuàng)建2、JFinal版本選擇3、導入依賴包4、創(chuàng)建數(shù)據(jù)庫開發(fā)環(huán)境搭建流程第三章項目實戰(zhàn)第三章項目實戰(zhàn)Web項目創(chuàng)建注意:Targetruntime一定要選擇<None>第三章項目實戰(zhàn)第三章項目實戰(zhàn)Jfinal版本選擇——當前官方最新是2.2版本第三章項目實戰(zhàn)導入依賴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架構:跟普遍的mvc架構一樣第三章項目實戰(zhàn)啟動服務調試jetty-server-8.1.8.jar拷入。直接RunAs啟動即可:看看Jfinal的環(huán)境是否搭建成功:以下是成功的范例第三章項目實戰(zhàn)項目實操預估耗時15~25分鐘第四章常見問題常見問題1、Cannotcreateinstanceofclass:demo.DemoConfig一、應該是你的路徑有問題,打開你項目的javabuildpath面板,然后找到defaultoutputfolder,把這里的輸出改為your_project/WebRoot/WEB-INF/classes。二、javabuildpath面板中的Libraries中有部分庫導入異常,檢查出來修復就行。常見問題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設置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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版跨境電商平臺傭金比例調整合同3篇
- 二零二五版?zhèn)€人教育貸款擔保合同模板3篇
- 二零二五年建筑裝修幫工雇傭合同2篇
- 二零二五版寄賣合同范本:藝術品寄售代理中介服務協(xié)議2篇
- 二零二五版辦公設備智能化升級改造合同5篇
- 二零二五版橋梁工程勞務分包合同模板6篇
- 二零二五版職工住房借款與社區(qū)文化活動支持合同3篇
- 二零二五年度黃牛養(yǎng)殖與屠宰行業(yè)購銷法律法規(guī)遵守合同3篇
- 二零二五年鋁藝門安裝與外觀設計承包合同3篇
- 二零二五年度電商代發(fā)貨及品牌授權合同2篇
- 店鋪交割合同范例
- 大型活動LED屏幕安全應急預案
- 舞蹈課家長會
- 2024年內蒙古包頭市中考道德與法治試卷
- 湖南省長沙市2024-2025學年高二上學期期中考試地理試卷(含答案)
- 自來水質量提升技術方案
- 金色簡約蛇年年終總結匯報模板
- 農用地土壤環(huán)境質量類別劃分技術指南(試行)(環(huán)辦土壤2017第97號)
- 反向開票政策解讀課件
- 工程周工作計劃
- 房地產銷售任務及激勵制度
評論
0/150
提交評論