




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
JavaEE項目應用開發
單元1:Web應用構架及JavaEE軟件技術專業吳道君課程介紹課程名:《基于Struts+Sprint+Hibernae框架的項目開發》課程性質:一門高級Web應用開發技術課程;先修課程:JAVA程序設計、使用JSP開發Web應用系統后續課程:Android高級應用開發(必修)目標:熟悉開源軟件環境的搭建、使用,引導大家走入開源技術領域;掌握使用Struts開發框架開發Web應用的方法;開發基于標準架構的、具有良好擴展性和維護性的Web程序;課程介紹C#OOPJavaScriptT-SQLJavaOOPS2350Y2344JSP預備課程WinFormsLogicJavaS1314ASP.NETHibernateN-TierAjaxSpringStrutsHTMLC#IOSwinphone.NET畢業設計項目COTAndroidJava畢業設計項目移動應用畢業設計課程地位HibernateStrutsSpringHibernateStruts教學手段和方法以貫穿項目為基線,將知識技能點融入項目的一個個任務中以任務驅動的教學方法以先行后知的原則安排任務必備知識的準備完成任務知識提煉和要點提示邊講邊練:老師演示功能的具體實現同學們實際操作,老師給予輔導課程考核本課程考察的重點:實際編程能力考核方式 項目考核成績構成內容及各自比例(百分制)平時成績。(占總成績的40%)
考核標準:上課正常出勤,課后作業按時完成。項目成績。(占總成績的60%)最多兩個人一組需要提交項目設計文檔+數據庫源文件+項目源代碼企業對JSP的需求招聘網站:/職位描述:J2EE開發工程師招聘描述:Web應用的發展12345Model1和Model2MVCStruts1Struts2Hibernate、SpringModel1Model1模式的實現比較簡單,適用于快速開發小規模項目。但從工程化的角度看,它的局限性非常明顯:JSP頁面身兼View和Controller兩種角色,將控制邏輯和表現邏輯混雜在一起,從而導致代碼的重用性非常低,增加了應用的擴展性和維護的難度。Model2Model2下JSP不再承擔控制器的責任,它僅僅是表現層角色,僅僅用于將結果呈現給用戶;JSP頁面的請求與Servlet(控制器)交互,而Servlet負責與后臺的JavaBean通信。在Model2模式下,模型(Model)由JavaBean充當,視圖(View)由JSP頁面充當,而控制器(Controller)則由Servlet充當。
什么是MVC設計模式MVC(ModelViewController)模型(model)-視圖(view)-控制器(controller)MVC模式的目的就是實現Web系統的職能分工。框架模式MVC模式是一種架構模式,其實需要其他模式協作完成。在J2EE模式目錄中,通常采用servicetoworker模式實現,而servicetoworker模式可由集中控制器模式,派遣器模式和PageHelper模式組成。(ServicetoWorker模式的目標就是維護Action,View和Controller之間的分離。)而Struts只實現了MVC的View和Controller兩個部分,Model部分需要開發者自己來實現,Struts提供了抽象類Action使開發者能將Model應用于Struts框架中MVC之間的聯系M是指數據模型,V是指用戶界面,C則是控制器。使用MVC的目的是將M和V的實現代碼分離,從而使同一個程序可以使用不同的表現形式。比如一批統計數據你可以分別用柱狀圖、餅圖來表示。C存在的目的則是確保M和V的同步,一旦M改變,V應該同步更新。MVC之間的聯系Event(事件)導致Controller改變Model或View,或者同時改變兩者。只要Controller改變了Models的數據或者屬性,所有依賴的View都會自動更新。類似的,只要Controller改變了View,View會從潛在的Model中獲取數據來刷新自己MVC之間的聯系statequery:狀態查詢changenotification:更新通知statechange:狀態更新viewselecion:視圖選擇useractions:用戶行動Event:事件Methodinvocations:方法調用MVC之間的聯系MVC模式的實現MVC與J2EE架構的對應關系是:View處于WebTier(Web層)或者說是ClientTier(客戶層),通常是JSP/Servlet,即頁面顯示部分。Controller也處于WebTier,通常用Servlet來實現,即頁面顯示的邏輯部分實現。Model處于MiddleTier(中間層),通常用服務端的javaBean或者EJB實現,即業務邏輯部分的實現。MVC的優點首先,最重要的是應該有多個視圖對應一個模型的能力。在目前用戶需求的快速變化下,可能有多種方式訪問應用的要求。再次,由于一個應用被分離為三層,因此有時改變其中的一層就能滿足應用的改變。一個應用的業務流程或者業務規則的改變只需改動MVC的模型層。控制層的概念也很有效,由于它把不同的模型和不同的視圖組合在一起完成不同的請求,因此,控制層可以說是包含了用戶請求權限的概念。最后,它還有利于軟件工程化管理。由于不同的層各司其職,每一層不同的應用具有某些相同的特征,有利于通過工程化、工具化產生管理程序代碼。
MVC的缺點(1)增加了系統結構和實現的復雜性。對于簡單的界面,嚴格遵循MVC,使模型、視圖與控制器分離,會增加結構的復雜性,并可能產生過多的更新操作,降低運行效率。(2)視圖與控制器間的過于緊密的連接。視圖與控制器是相互分離,但確實聯系緊密的部件,視圖沒有控制器的存在,其應用是很有限的,反之亦然,這樣就妨礙了他們的獨立重用。(3)視圖對模型數據的低效率訪問。依據模型操作接口的不同,視圖可能需要多次調用才能獲得足夠的顯示數據。對未變化數據的不必要的頻繁訪問,也將損害操作性能。(4)目前,一般高級的界面工具或構造器不支持MVC模式。改造這些工具以適應MVC需要和建立分離的部件的代價是很高的,從而造成使用MVC的困難。使用MVC的原因使用JSP和Servlet得以方便的實現MVC模式,如下圖,它繼承了JSP和Servlet,利用了兩種技術的優勢,JSP負責表示層,而Servlet負責執行調度任務。J2EE輕量級框架Struts+Spring+Hibernate整體框架和業務層用Spring,表示層用Struts,而持久層用Hibernate。
Struts1概述Struts是基于MVC的WEB應用框架.Struts為JavaWeb應用提供現成的通用框架.Struts可以提高Web開發應用的速度,開發人員的精力集中在解決實際業務問題上.Struts實現MVC的原理Struts實質上就是在JSPModel2的基礎上實現的一個MVC框架.在Struts框架中,模型由實現業務邏輯的JavaBean或EJB組件構成,控制器由ActionServlet和Action來實現,視圖由一組JSP文件構成.WEB服務器瀏覽器(控制器)ActionServletstruts-config.xmlActionActionAction(視圖)JSP(模型)JavaBeanEJBActionFormBean的作用視圖組件控制器組件ActionFormBean(包含用戶輸入數據)ActionFormBean(包含修改后的數據)Struts的工作原理對于采用Struts框架的WEB應用,在WEB應用啟動時加載并初始化ActionServlet,ActionServlet從struts-config.xml文件中讀取配置信息,把他們存放到各種配置對象中,例如Action的映射信息存放在ActionMapping對象中.當ActoinServlet受到一個客戶請求時,將執行如下流程:(1)檢索和用戶請求匹配的ActionMapping對像,如果不存在,就返回用戶請求路徑無效的信息.(2)如果ActionForm實例不存在,就創建一個ActionForm實例,把客戶提交的表單數據存到ActionForm實例中.(3)根據配置信息決定是否需要表單驗證,如果需要驗證,就調用ActionForm的validate()方法.(4)如果ActionForm的validate()方法返回一個null或返回一個不包含ActionMessage的ActionErrors對象,就表示表單驗證成功.(5)ActionServlet根據ActionMapping實例包含的映射信息決定將請求轉發給哪個Action.如果Action實例不存在,就創建一個Action實例,然后調用Action的execute()方法.(6)Action的execute()方法返回一個ActionForward對象,ActionServlet再把客戶請求轉發給ActionForward對象指向的JSP組件.(7)ActionForward對象指向的JSP組件生成動態網頁,返回給客戶.其中第四步,如果ActionForm的validate()方法返回一個包含一個或多個ActionMessage的ActionErrors的對象,就表示表單驗證失敗,此時ActionServlet將直接把請求轉發給包含用戶提交表單的JSP組件.在這種情況下,不會再創建Action對象并調用Action的execute()方法.請求到來ActionMapping是否匹配返回錯誤信息不匹配
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司放風箏活動方案
- 公司禮品互換活動方案
- 公司職工過年活動方案
- 公司朗誦比賽活動方案
- 公司組織大型活動方案
- 公司早上上班活動方案
- 2025年藝術表演與導演專業綜合素養考試試題及答案
- 2025年營養學專業基礎知識考試試題及答案
- 2025年心理學基礎知識與應用能力測評試題及答案
- 2025年網絡工程師職業資格考試試題及答案
- 公安院校公安專業招生政治考察表在校表現考察表面試表
- 托克遜縣寶源長石礦廠新疆托克遜縣桑樹園子南山銅礦3萬噸/年采礦項目環評報告
- 陜西省西安高中2025屆高二化學第二學期期末達標檢測試題含解析
- (2025)《公共基礎知識》試真題庫與答案
- 江西省南昌市第一中學教育集團2023-2024學年八年級下學期數學期末試卷(含答案)
- 2025盤錦市雙臺子區輔警考試試卷真題
- 教研員考試題庫及答案
- 地生中考模擬試題及答案
- 慢性病管理中心建設實施方案
- T/CCMA 0163-2023履帶式液壓挖掘機維修工時定額
- 2025年下半年山西焦煤西山煤電集團公司招聘270人易考易錯模擬試題(共500題)試卷后附參考答案
評論
0/150
提交評論