版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
JavaEE項目應(yīng)用開發(fā)
單元1:Web應(yīng)用構(gòu)架及JavaEE軟件技術(shù)專業(yè)吳道君課程介紹課程名:《基于Struts+Sprint+Hibernae框架的項目開發(fā)》課程性質(zhì):一門高級Web應(yīng)用開發(fā)技術(shù)課程;先修課程:JAVA程序設(shè)計、使用JSP開發(fā)Web應(yīng)用系統(tǒng)后續(xù)課程:Android高級應(yīng)用開發(fā)(必修)目標(biāo):熟悉開源軟件環(huán)境的搭建、使用,引導(dǎo)大家走入開源技術(shù)領(lǐng)域;掌握使用Struts開發(fā)框架開發(fā)Web應(yīng)用的方法;開發(fā)基于標(biāo)準(zhǔn)架構(gòu)的、具有良好擴展性和維護性的Web程序;課程介紹C#OOPJavaScriptT-SQLJavaOOPS2350Y2344JSP預(yù)備課程WinFormsLogicJavaS1314ASP.NETHibernateN-TierAjaxSpringStrutsHTMLC#IOSwinphone.NET畢業(yè)設(shè)計項目COTAndroidJava畢業(yè)設(shè)計項目移動應(yīng)用畢業(yè)設(shè)計課程地位HibernateStrutsSpringHibernateStruts教學(xué)手段和方法以貫穿項目為基線,將知識技能點融入項目的一個個任務(wù)中以任務(wù)驅(qū)動的教學(xué)方法以先行后知的原則安排任務(wù)必備知識的準(zhǔn)備完成任務(wù)知識提煉和要點提示邊講邊練:老師演示功能的具體實現(xiàn)同學(xué)們實際操作,老師給予輔導(dǎo)課程考核本課程考察的重點:實際編程能力考核方式 項目考核成績構(gòu)成內(nèi)容及各自比例(百分制)平時成績。(占總成績的40%)
考核標(biāo)準(zhǔn):上課正常出勤,課后作業(yè)按時完成。項目成績。(占總成績的60%)最多兩個人一組需要提交項目設(shè)計文檔+數(shù)據(jù)庫源文件+項目源代碼企業(yè)對JSP的需求招聘網(wǎng)站:/職位描述:J2EE開發(fā)工程師招聘描述:Web應(yīng)用的發(fā)展12345Model1和Model2MVCStruts1Struts2Hibernate、SpringModel1Model1模式的實現(xiàn)比較簡單,適用于快速開發(fā)小規(guī)模項目。但從工程化的角度看,它的局限性非常明顯:JSP頁面身兼View和Controller兩種角色,將控制邏輯和表現(xiàn)邏輯混雜在一起,從而導(dǎo)致代碼的重用性非常低,增加了應(yīng)用的擴展性和維護的難度。Model2Model2下JSP不再承擔(dān)控制器的責(zé)任,它僅僅是表現(xiàn)層角色,僅僅用于將結(jié)果呈現(xiàn)給用戶;JSP頁面的請求與Servlet(控制器)交互,而Servlet負責(zé)與后臺的JavaBean通信。在Model2模式下,模型(Model)由JavaBean充當(dāng),視圖(View)由JSP頁面充當(dāng),而控制器(Controller)則由Servlet充當(dāng)。
什么是MVC設(shè)計模式MVC(ModelViewController)模型(model)-視圖(view)-控制器(controller)MVC模式的目的就是實現(xiàn)Web系統(tǒng)的職能分工。框架模式MVC模式是一種架構(gòu)模式,其實需要其他模式協(xié)作完成。在J2EE模式目錄中,通常采用servicetoworker模式實現(xiàn),而servicetoworker模式可由集中控制器模式,派遣器模式和PageHelper模式組成。(ServicetoWorker模式的目標(biāo)就是維護Action,View和Controller之間的分離。)而Struts只實現(xiàn)了MVC的View和Controller兩個部分,Model部分需要開發(fā)者自己來實現(xiàn),Struts提供了抽象類Action使開發(fā)者能將Model應(yīng)用于Struts框架中MVC之間的聯(lián)系M是指數(shù)據(jù)模型,V是指用戶界面,C則是控制器。使用MVC的目的是將M和V的實現(xiàn)代碼分離,從而使同一個程序可以使用不同的表現(xiàn)形式。比如一批統(tǒng)計數(shù)據(jù)你可以分別用柱狀圖、餅圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應(yīng)該同步更新。MVC之間的聯(lián)系Event(事件)導(dǎo)致Controller改變Model或View,或者同時改變兩者。只要Controller改變了Models的數(shù)據(jù)或者屬性,所有依賴的View都會自動更新。類似的,只要Controller改變了View,View會從潛在的Model中獲取數(shù)據(jù)來刷新自己MVC之間的聯(lián)系statequery:狀態(tài)查詢changenotification:更新通知statechange:狀態(tài)更新viewselecion:視圖選擇useractions:用戶行動Event:事件Methodinvocations:方法調(diào)用MVC之間的聯(lián)系MVC模式的實現(xiàn)MVC與J2EE架構(gòu)的對應(yīng)關(guān)系是:View處于WebTier(Web層)或者說是ClientTier(客戶層),通常是JSP/Servlet,即頁面顯示部分。Controller也處于WebTier,通常用Servlet來實現(xiàn),即頁面顯示的邏輯部分實現(xiàn)。Model處于MiddleTier(中間層),通常用服務(wù)端的javaBean或者EJB實現(xiàn),即業(yè)務(wù)邏輯部分的實現(xiàn)。MVC的優(yōu)點首先,最重要的是應(yīng)該有多個視圖對應(yīng)一個模型的能力。在目前用戶需求的快速變化下,可能有多種方式訪問應(yīng)用的要求。再次,由于一個應(yīng)用被分離為三層,因此有時改變其中的一層就能滿足應(yīng)用的改變。一個應(yīng)用的業(yè)務(wù)流程或者業(yè)務(wù)規(guī)則的改變只需改動MVC的模型層??刂茖拥母拍钜埠苡行В捎谒巡煌哪P秃筒煌囊晥D組合在一起完成不同的請求,因此,控制層可以說是包含了用戶請求權(quán)限的概念。最后,它還有利于軟件工程化管理。由于不同的層各司其職,每一層不同的應(yīng)用具有某些相同的特征,有利于通過工程化、工具化產(chǎn)生管理程序代碼。
MVC的缺點(1)增加了系統(tǒng)結(jié)構(gòu)和實現(xiàn)的復(fù)雜性。對于簡單的界面,嚴格遵循MVC,使模型、視圖與控制器分離,會增加結(jié)構(gòu)的復(fù)雜性,并可能產(chǎn)生過多的更新操作,降低運行效率。(2)視圖與控制器間的過于緊密的連接。視圖與控制器是相互分離,但確實聯(lián)系緊密的部件,視圖沒有控制器的存在,其應(yīng)用是很有限的,反之亦然,這樣就妨礙了他們的獨立重用。(3)視圖對模型數(shù)據(jù)的低效率訪問。依據(jù)模型操作接口的不同,視圖可能需要多次調(diào)用才能獲得足夠的顯示數(shù)據(jù)。對未變化數(shù)據(jù)的不必要的頻繁訪問,也將損害操作性能。(4)目前,一般高級的界面工具或構(gòu)造器不支持MVC模式。改造這些工具以適應(yīng)MVC需要和建立分離的部件的代價是很高的,從而造成使用MVC的困難。使用MVC的原因使用JSP和Servlet得以方便的實現(xiàn)MVC模式,如下圖,它繼承了JSP和Servlet,利用了兩種技術(shù)的優(yōu)勢,JSP負責(zé)表示層,而Servlet負責(zé)執(zhí)行調(diào)度任務(wù)。J2EE輕量級框架Struts+Spring+Hibernate整體框架和業(yè)務(wù)層用Spring,表示層用Struts,而持久層用Hibernate。
Struts1概述Struts是基于MVC的WEB應(yīng)用框架.Struts為JavaWeb應(yīng)用提供現(xiàn)成的通用框架.Struts可以提高Web開發(fā)應(yīng)用的速度,開發(fā)人員的精力集中在解決實際業(yè)務(wù)問題上.Struts實現(xiàn)MVC的原理Struts實質(zhì)上就是在JSPModel2的基礎(chǔ)上實現(xiàn)的一個MVC框架.在Struts框架中,模型由實現(xiàn)業(yè)務(wù)邏輯的JavaBean或EJB組件構(gòu)成,控制器由ActionServlet和Action來實現(xiàn),視圖由一組JSP文件構(gòu)成.WEB服務(wù)器瀏覽器(控制器)ActionServletstruts-config.xmlActionActionAction(視圖)JSP(模型)JavaBeanEJBActionFormBean的作用視圖組件控制器組件ActionFormBean(包含用戶輸入數(shù)據(jù))ActionFormBean(包含修改后的數(shù)據(jù))Struts的工作原理對于采用Struts框架的WEB應(yīng)用,在WEB應(yīng)用啟動時加載并初始化ActionServlet,ActionServlet從struts-config.xml文件中讀取配置信息,把他們存放到各種配置對象中,例如Action的映射信息存放在ActionMapping對象中.當(dāng)ActoinServlet受到一個客戶請求時,將執(zhí)行如下流程:(1)檢索和用戶請求匹配的ActionMapping對像,如果不存在,就返回用戶請求路徑無效的信息.(2)如果ActionForm實例不存在,就創(chuàng)建一個ActionForm實例,把客戶提交的表單數(shù)據(jù)存到ActionForm實例中.(3)根據(jù)配置信息決定是否需要表單驗證,如果需要驗證,就調(diào)用ActionForm的validate()方法.(4)如果ActionForm的validate()方法返回一個null或返回一個不包含ActionMessage的ActionErrors對象,就表示表單驗證成功.(5)ActionServlet根據(jù)ActionMapping實例包含的映射信息決定將請求轉(zhuǎn)發(fā)給哪個Action.如果Action實例不存在,就創(chuàng)建一個Action實例,然后調(diào)用Action的execute()方法.(6)Action的execute()方法返回一個ActionForward對象,ActionServlet再把客戶請求轉(zhuǎn)發(fā)給ActionForward對象指向的JSP組件.(7)ActionForward對象指向的JSP組件生成動態(tài)網(wǎng)頁,返回給客戶.其中第四步,如果ActionForm的validate()方法返回一個包含一個或多個ActionMessage的ActionErrors的對象,就表示表單驗證失敗,此時ActionServlet將直接把請求轉(zhuǎn)發(fā)給包含用戶提交表單的JSP組件.在這種情況下,不會再創(chuàng)建Action對象并調(diào)用Action的execute()方法.請求到來ActionMapping是否匹配返回錯誤信息不匹配
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 食品采購管理制度
- 企業(yè)環(huán)境的應(yīng)急預(yù)案
- 幼兒園手工制作活動策劃方案(3篇)
- 春節(jié)安全的應(yīng)急預(yù)案范文(35篇)
- 老師工作計劃11篇
- 高中體育述職報告5篇
- 高考地理二輪復(fù)習(xí)綜合題專項訓(xùn)練1特征(點)描述類含答案
- 第二十三章 數(shù)據(jù)分析 綜合檢測
- 山西省太原市2024-2025學(xué)年七年級上學(xué)期期中地理試題(含答案)
- 河南省周口市項城市東街小學(xué)等校2024-2025學(xué)年四年級上學(xué)期11月期中數(shù)學(xué)試題
- 船舶租賃盡職調(diào)查
- 統(tǒng)編教學(xué)小學(xué)語文課外閱讀《細菌世界歷險記》導(dǎo)讀課課件
- 植物生理學(xué)-植物的逆境生理
- 2017大專病理課件4局部血液循環(huán)障礙l
- 【課件】比的基本性質(zhì)
- 小學(xué)英語人教新起點五年級上冊Unit3Animalsunit3storytime
- 2023年江蘇省淮安市中考化學(xué)試卷
- 醫(yī)療質(zhì)量管理與持續(xù)改進工作記錄
- 小學(xué)英語名師工作室工作計劃2篇
- 幼兒園突發(fā)事件應(yīng)急處置流程圖
- 中國旅游嘉興風(fēng)土人情城市介紹旅游攻略PPT圖文課件
評論
0/150
提交評論