![SSH教學課件:C01 框架技術概述_第1頁](http://file4.renrendoc.com/view/a506b505fb49a7723761b5a23314e8ad/a506b505fb49a7723761b5a23314e8ad1.gif)
![SSH教學課件:C01 框架技術概述_第2頁](http://file4.renrendoc.com/view/a506b505fb49a7723761b5a23314e8ad/a506b505fb49a7723761b5a23314e8ad2.gif)
![SSH教學課件:C01 框架技術概述_第3頁](http://file4.renrendoc.com/view/a506b505fb49a7723761b5a23314e8ad/a506b505fb49a7723761b5a23314e8ad3.gif)
![SSH教學課件:C01 框架技術概述_第4頁](http://file4.renrendoc.com/view/a506b505fb49a7723761b5a23314e8ad/a506b505fb49a7723761b5a23314e8ad4.gif)
![SSH教學課件:C01 框架技術概述_第5頁](http://file4.renrendoc.com/view/a506b505fb49a7723761b5a23314e8ad/a506b505fb49a7723761b5a23314e8ad5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第一章框架技術概述
本章主要內(nèi)容1.1框架技術的必要性-為什么使用框架1.2框架的涵義-什么是框架及其優(yōu)點1.3技術、組件、框架和系統(tǒng)-區(qū)分技術、組件、框架和系統(tǒng)1.4Java流行框架-了解Struts2、Spring和Hibernate1.5三層結構-
三層結構如何劃分1.6
三層結構在Java中的應用---分層原則1.7MVC設計模式-什么是MVC,MVC的目的1.8自定義MVC框架-定義自己的框架1.9用自定義框架實現(xiàn)加法器-通過自定義框架的例子來理解框架作用1.1框架技術的必要性思考一下:使用簡歷模板有哪些好處呢?使用了簡歷模板后,寫簡歷有如下好處:不用考慮布局、排版等問題,提高了效率??蓪P脑诤啔v的內(nèi)容上,使簡歷的質(zhì)量更有保障。大家的簡歷都結構統(tǒng)一,公司的人事人員閱讀簡歷也會變得更方便。使用了簡歷模板,新手也可以做出很專業(yè)的簡歷!1.1框架技術的必要性使用預制的架構搭建房屋有以下好處:經(jīng)濟適用,使用標準化和定制化的組件搭建,這個組件可以大規(guī)模生產(chǎn),必然便宜。快速高效,工人使用都是標準的組件,經(jīng)驗比較容易積累,勞動效率會更高。拆卸方便,組件在設計的時候就考慮到了重復使用性和拆卸問題。裝運方便,標準的組件就能應用標準的容器包裝運輸。1.2框架的涵義1.2.1框架的涵義框架是一個應用程序的半成品框架是成熟的,不斷升級的一組組件一個框架是一個可復用的設計構件框架相對于組件有更強的可定制性強框架提供了可在應用程序之間共享的可覆用的公共結構。開發(fā)者把框架融入他們自己的應用程序,并加以擴展,以滿足他們特定的需要。一方面給我們提供了可以拿來就用的工具,更大意義上,給我們提供了可重用的設計?!翱蚣堋钡囊饬x也在于此,是應用程序的骨架。開發(fā)者可以在這個骨架上面添加自己的東西,完成符合自己需要的應用系統(tǒng)。從框架提供的組件中選用合適的完成你自己的系統(tǒng)。且框架使用人眾多,bug能及時反映和修正。規(guī)定了應用的體系結構,闡明了整個設計、協(xié)作構件之間的依賴關系、責任分配和控制流程,表現(xiàn)為一組抽象類以及其實例之間協(xié)作的方法,它為組件復用提供了上下文關系。用戶所需要的就是完善一些抽象類,并且按照框架定義的方式,把這些類組合起來來構建自己的應用框架為組件提供重用的環(huán)境,為構件處理錯誤、交換數(shù)據(jù)及激活操作提供了標準的方法。應用系統(tǒng)用途各不相同,但是每個系統(tǒng)都應該提供一些標準的服務功能,框架往往對這些標準的服務功能提供了良好的實現(xiàn),應用系統(tǒng)的開發(fā)只要直接拿過來用就是1.2框架的涵義1.2.2框架的優(yōu)勢不用再考慮公共問題,框架已經(jīng)幫我們做好了??梢詫P脑跇I(yè)務邏輯實現(xiàn)上,保證核心業(yè)務邏輯的開發(fā)質(zhì)量。結構統(tǒng)一,易于學習、維護,經(jīng)驗積累速度提高??蚣苤屑闪饲叭说慕?jīng)驗和智慧,可以幫助“新手”寫出穩(wěn)健,性能優(yōu)良而且結構優(yōu)美的高質(zhì)量程序。1.2框架的涵義1.2.3使用框架的心得一般情況下,不要嘗試去修改框架的核心代碼,應用開發(fā)者所需要的只是在框架的規(guī)約下,編寫自己的業(yè)務代碼,然后把這些業(yè)務代碼組合起來構建起更個應用系統(tǒng)。在最合適的地方插入最合適的代碼,框架定義好了約束,框架使用者要明白自己的業(yè)務代碼放在何處是最合理的,然后讓框架把業(yè)務代碼黏合起來。1.3技術、組件、框架和系統(tǒng)
1.4Java流行框架1.4.1Struts2ApacheStruts2源于WebWork2,是一個優(yōu)雅,伸縮性好的企業(yè)級Javaweb應用開發(fā)框架。官方網(wǎng)站:1.4Java流行框架1.4.2SpringSpring主要作為依賴注入容器和AOP實現(xiàn)存在。它還提供了聲明式事務,對DAO層的支持等簡化開發(fā)的功能。Spring還可以很方便地與Struts2,hibernate等技術集成。官方網(wǎng)站:
核心容器:主要組件是BeanFactory
上下文:是一個配置文件,向Spring框架提供上下文信息AOP:面向方面的編程功能DAO:數(shù)據(jù)庫操作及數(shù)據(jù)庫異常處理ORM:ORM的對象關系工具Web上下文:建立在應用程序上下文模塊之上MVC:容納了大量視圖技術1.4Java流行框架1.4.3HibernateHibernate是一種Java語言下的對象關系映射解決方案。它為面向對象的領域模型到傳統(tǒng)的關系型數(shù)據(jù)庫的映射,提供了一個使用方便的框架。ORM的全稱是ObjectRelationalMapping,即對象關系映射。它的實現(xiàn)思想就是將關系數(shù)據(jù)庫中表的數(shù)據(jù)映射成為對象,以對象的形式展現(xiàn),這樣開發(fā)人員就可以把對數(shù)據(jù)庫的操作轉化為對這些對象的操作。官方網(wǎng)站:/
ORM持久層對象建立ORM持久層對象與數(shù)據(jù)庫表的對應關系配置數(shù)據(jù)庫連接1.4Java流行框架數(shù)據(jù)庫服務器客戶端數(shù)據(jù)庫Struts業(yè)務ActionSpring與Struts2Hibernate技術集成Hibernate數(shù)據(jù)持久化操作和查詢1.5三層架構目前開發(fā)人員對系統(tǒng)開發(fā)的一個共識是使用三層架構,分為表示層,業(yè)務邏輯層,和數(shù)據(jù)訪問層。1.6三層結構在Java中的應用1.7MVC設計模式
1.7.1MVC含義模型(Model)
“數(shù)據(jù)模型”(Model)用于封裝與應用程序的業(yè)務邏輯相關的數(shù)據(jù)以及對數(shù)據(jù)的處理方法。視圖(View)視圖層能夠實現(xiàn)數(shù)據(jù)有目的的顯示(理論上,這不是必需的)。在視圖中一般沒有程序上的邏輯??刂破鳎–ontroller)控制器起到不同層面間的組織作用,用于控制應用程序的流程。它處理事件并作出響應?!笆录卑ㄓ脩舻男袨楹蛿?shù)據(jù)模型上的改變“模型”有對數(shù)據(jù)直接訪問的權利,例如對數(shù)據(jù)庫的訪問?!澳P汀辈灰蕾嚒耙晥D”和“控制器”,也就是說,模型不關心它會被如何顯示或是如何被操作。1.7MVC設計模式
1.7.2MVC的目的將模型(業(yè)務邏輯)和視圖(頁面展示)分離。1.7MVC設計模式
1.7.3J2EE的MVCJ2EE為模型對象(ModelObjects)定義了一個規(guī)范:視圖(View)在J2EE應用程序中,視圖(View)可能由JSP承擔。控制器(Controller)J2EE應用中,控制器可能是一個servlet,現(xiàn)在一般用Struts實現(xiàn)。模型(Model)模型則是由一個實體Bean來實現(xiàn)。1.8自定義MVC框架
1.8.1自定義框架例程要求將所有請求都發(fā)送到控制器(基于Servlet實現(xiàn)),而且系統(tǒng)中只有一個控制器。使用Action表示用戶請求的一種操作,比如:加法和登錄??刂破鞲鶕?jù)請求路徑判斷找哪一個Action執(zhí)行操作。比如:如果請求路徑是
http://localhost:8080/sshsample/add.do則調(diào)用AddAction,如果請求路徑是http://localhost:8080/sshsample/login.do則調(diào)用LoginAction。Action調(diào)用模型,執(zhí)行業(yè)務操作,獲得操作結果。然后將結果返回到頁面。1.8自定義MVC框架
1.8.2自定義框架例程結構圖1.9用自定義框架實現(xiàn)加法器Controller.javaAddAction.javaCalculator.javaadd_result.jspadd.jspweb.xml例子流程說明圖:1.9用自定義框架實現(xiàn)加法器例子配置文件及代碼說明:配置文件:web.xml說明過程及作用1、add.jsp作用:接受用戶輸入2個加數(shù)2、Controller.java作用:一個Servlet控制器,根據(jù)用戶請求的url解析,派發(fā)用戶請求到恰當?shù)腁ction處理3、AddAction.java作用:處理加法操作的Action類4、Calculator.java作用:真正做加法操作的業(yè)務對象5、add_result.jsp作用:用來顯示加法處理結果的jsp6、web.xml作用:web應用配置文件,主要用了配置Servlet和其負責處理的url1.9用自定義框架實現(xiàn)加法器
1.9.1實現(xiàn)MVC框架實現(xiàn)控制器Controller
代碼參見示例11.9用自定義框架實現(xiàn)加法器
1.9.2實現(xiàn)MVC框架實現(xiàn)控制器Controller
MVC框架實現(xiàn)的核心是控制器。在處理每次請求時根據(jù)請求路徑找到將要被執(zhí)行的Action,然后調(diào)用Action的execute方法,根據(jù)execute方法返回值確定轉發(fā)路徑轉發(fā)到相應的JSP頁面。完成Controller代碼后,還需要在web.xml配置。我們的控制器在配置Servlet訪問路徑的時候可以設置為*.do,表示只要是以“.do”結束的請求都會派發(fā)到Controller。Action接口和Controller類構成了自定義框架的MVC控制器部分。1.9用自定義框架實現(xiàn)加法器
web.xml配置(參見示例2)1.9用自定義框架實現(xiàn)加法器
1.9.3實現(xiàn)加法功能
實現(xiàn)業(yè)務邏輯類:Calculator,作為程序的“模型”部分。由AddAction實現(xiàn)Action接口,在execute方法中調(diào)用模型類方法。AddAction類是控制器的一部分。創(chuàng)建add.jsp,add_result.jsp頁面。add.jsp是輸入頁面,add_result.jsp是顯示計算結果的頁面。JSP頁面是程序的“視圖”部分。1.9用自定義框架實現(xiàn)加法器
“模型”部分:Calculator1.9用自定義框架實現(xiàn)加法器
AddAction類首先從request中獲得頁面輸入,然后調(diào)用業(yè)務方法獲得結果,再將結果保存到request對象的attribute屬性中。request.getParameter()和request.setAttribute()是Action和JSP頁面交互的主要方式。Action類是模型和視圖
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 陽臺弧形門套施工方案
- 2025年度新能源汽車充電設施合同作廢聲明范本全文預覽
- 現(xiàn)代化城市建設與大氣污染控制技術的結合
- 2025年度企業(yè)內(nèi)部控制與合規(guī)咨詢合同
- 環(huán)境科學與循環(huán)經(jīng)濟的前景預測
- 電商平臺的供應鏈金融創(chuàng)新與風險控制
- 水污染治理技術的研究與成果轉化
- 2025年度跨境電商融資合同履約保證金規(guī)定
- 2025年度股權質(zhì)押合同風險評估與咨詢合同
- 構建高效、便捷的社區(qū)醫(yī)養(yǎng)服務體系
- 上海天文館分析
- 中醫(yī)睡眠養(yǎng)生中心方案
- 生活中的邏輯學
- 大學生返家鄉(xiāng)社會實踐報告
- 初中生物中考真題(合集)含答案
- 《醫(yī)學免疫學實驗》課件
- C139客戶開發(fā)管理模型
- GB/T 5019.5-2023以云母為基的絕緣材料第5部分:電熱設備用硬質(zhì)云母板
- 《工傷保險專題》課件
- 2024年農(nóng)發(fā)集團招聘筆試參考題庫含答案解析
- 安寧療護中的人文護理課件
評論
0/150
提交評論