SSH畢業(yè)設計實習報告(共6頁)_第1頁
SSH畢業(yè)設計實習報告(共6頁)_第2頁
SSH畢業(yè)設計實習報告(共6頁)_第3頁
SSH畢業(yè)設計實習報告(共6頁)_第4頁
SSH畢業(yè)設計實習報告(共6頁)_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優(yōu)質文檔-傾情為你奉上畢業(yè)實習報告二O一四年四月 評 定 意 見畢業(yè)實習成績: 指導教師對畢業(yè)實習的評語: 指導教師(簽章): 2014年 4 月 1 日畢業(yè)實習指導小組的評定意見: 教學院長(簽章): 系主任(簽章): 2014 年 4 月 3 日SSH畢業(yè)設計實習報告實習地點:J13-428實驗室實習時間:2014年3月4日3月31日 由于本次畢設打算采用J2EE技術做一個基于B/S架構的智能小區(qū)系統(tǒng),為了提高系統(tǒng)的可維護性,使系統(tǒng)更加具有層次性以及滿足以后需求的變更,我決定采用Struts2+Hibernate+Spring進行開發(fā)。因此在這為期一個月的時間里,我學習了SSH框架的原

2、理、整合和使用。下面是我對SSH框架的學習收獲。 1. Struts2+Hibernate+Spring簡介 學習過編程開發(fā)的人都應聽過框架這個名字,所謂的框架是指整個系統(tǒng)或系統(tǒng)的一部分的可重用設計,由一組抽象的類及其實例間的相互作用方式組成??蚣芤话憔哂屑床寮从玫目芍赜眯?、成熟的穩(wěn)定性以及良好的團隊協(xié)作性。J2EE復雜的多層結構決定了大型的J2EE項目需要運用框架和設計模式來控制軟件質量。目前,市場上出現了一些商業(yè)的、開源的基于J2EE的應用框架,其中主流的框架技術有:基于MVC模式的Struts框架和基于IoC模式的 Spring框架以及對象/關系映射框架Hibernate等。(1)表示層

3、框架Struts2 Struts2是一個在JSP Model2基礎上實現的MVC框架,主要分為模型(Model)、視圖(Viewer)和控制器(Controller)三部分,其主要的設計理念是通 過控制器將表現邏輯和業(yè)務邏輯解耦,以提高系統(tǒng)的可維護性、可擴展性和可重用性。Struts2框架的體系結構主要分為:1)視圖:視圖部分主要由JSP頁面組成,其中沒有流程邏輯、業(yè)務邏輯和模型信息,只要標記。Struts自身包含了一組標記庫(TagLib),這也是Struts的精華之一,靈活運用它們可以簡化JSP頁面的代碼,提高開發(fā)效率。2)控制器:Struts中的Controller主要是其自身提供的Ac

4、tionServlet。ActionServlet接收所有來自客戶端的請求并根據配置文件(struts-config.xml)中的定義將控制轉移到適當的Action對象。3)模型:Struts沒有定義具體Model層的實現,Model層通常是和業(yè)務邏輯緊密相關的,有持續(xù)化的要求。目前在商業(yè)領域和開源世界,都有一些優(yōu)秀的工具可以為Model層的開發(fā)提供便利。(2)業(yè)務邏輯層框架Spring Spring是一個解決了許多J2EE開發(fā)中常見問題并能夠替代EJB技術的強大的輕量級框架。這里所說的輕量級指的是Spring框架本身,而不是指Spring只能用于輕量級的應用開發(fā)。Spring的輕盈體現在其框

5、架本身的基礎結構以及對其他應用工具的支持和裝配能力。與EJB這種龐然大物相比,Spring可使程序研發(fā)人員把各個技術層次之間的風險降低。Spring框架的核心是控制翻轉IoC(Inversion of Control)/依賴注入DI(Dependence Injection)機制。IoC是指由容器中控制組件之間的關系(這里,容器是指為組件提供特定服務和技術支持的一個標準化的運行時的環(huán)境)而非傳統(tǒng)實現中由程序代碼直接操控,這種將控制權由程序代碼到外部容器的轉移,稱為“翻轉”。DI是對IoC更形象的解釋,即由容器在運行期間動態(tài)地將依賴關系(如構造參數、構造對象或接口)注入到組件之中。Spring采

6、用設值注入(使用Setter方法實現依賴)和構造子注入(在構造方法中實現依賴)的機制,通過配置文件管理組建的協(xié)作對象,創(chuàng)建可以構造組件的IoC容器。這樣,不需要編寫工廠模式、單例模式或者其他構造的方法,就可以通過容器直接獲取所需的業(yè)務組件。(3)數據持久層框架Hibernate O/R mapping技術是為了解決關系型數據庫和面向對象的程序設計之間不匹配的矛盾而產生的。Hibernate是目前最為流行的O/R mapping框架,它在關系型數據庫和Java對象之間做了一個自動映射,使得程序員可以以非常簡單的方式實現對數據庫的操作。Hibernate通過對JDBC的封裝,向程序員屏蔽了底層的數

7、據庫操作,使程序員專注于OO程序的開發(fā),有助于提高開發(fā)效率。程序員訪問數據庫所需要做的就是為持久化對象編制xml映射文件。底層數據庫的改變只需要簡單地更改初始化配置文件(hibernate.cfg.xml或者perties)即可,不會對應用程序產生影響。 Hibernate有自己的面向對象的查詢語言HQL,HQL功能強大,支持目前大部分主流的數據庫,如Oracle、DB2、MySQL、Microsoft SQL Server等,是目前應用最廣泛的O/R映射工具。Hibernate為快速開發(fā)應用程序提供了底層的支持。 2. Struts2+Hibernate+Sprin

8、g開發(fā)的優(yōu)勢 采用SSH框架開發(fā)系統(tǒng),其優(yōu)勢具體表現在如下:(1)開發(fā)效率:框架的使用并不是使得開發(fā)效率與之提高,相反可能會降低系統(tǒng)的開發(fā)效率。那么為什么還要使用框架呢?軟件工程是個特殊的行業(yè),不同于傳統(tǒng)的工業(yè),例如電器、建筑及汽車等行業(yè)。這些行業(yè)的產品一旦開發(fā)出來,交付用戶使用后將很少需要后續(xù)的維護。但軟件行業(yè)不同,軟件產品的后期運行維護是個巨大的工程,單純從前期開發(fā)時間上考慮其開發(fā)效率是不理智的,也是不公平的。眾所周知,對于傳統(tǒng)的ASP和 PHP等腳本站點技術,將整個站點的業(yè)務邏輯和表現邏輯都混雜在ASP或PHP頁面里,從而導致頁面的可讀性相當差,可維護性非常低。即使需要簡單改變頁面的按鈕

9、,也不得不打開頁面文件,冒著破壞系統(tǒng)的風險。但采用嚴格分層J2EE架構,則可完全避免這個問題。對表現層的修改即使發(fā)生錯誤,也絕對不會將錯誤擴展到業(yè)務邏輯層,更不會影響持久層。因此,采用J2EE分層架構,即使前期的開發(fā)效率稍微低一點,但也是值得的。(2)需求變更:軟件的需要并不是一成不變的,客戶對軟件的需求,隨著軟件開發(fā)過程的深入而不斷清晰明確起來。因此,常常遇到軟件開發(fā)到一定程度時,由于客戶對軟件需求發(fā)生了變化,使得軟件的實現不得不隨之改變。當軟件實現需要改變時,是否可以盡可能多地保留軟件的部分,盡可能少地改變軟件的實現,從而滿足客戶需求的變更?答案是采用優(yōu)秀的解耦架構。這種架構就是J2EE的

10、分層架構,在優(yōu)秀的分層架構里,控制層依賴于業(yè)務邏輯層,但絕不與任何具體的業(yè)務邏輯組件耦合,只與接口耦合;同樣,業(yè)務邏輯層依賴于DAO層,也不會與任何具體的DAO組件耦合,而是面向接口編程。采用這種方式的軟件實現,即使軟件的部分發(fā)生改變,其他部分也盡可能不要改變。(3)技術更新與系統(tǒng)重構:軟件行業(yè)的技術更新很快,雖然軟件行業(yè)的發(fā)展不快,但小范圍的技術更新特別快。一旦由于客觀環(huán)境的變化,不得不更換技術時,如何保證系統(tǒng)的改變最小呢?答案還是選擇優(yōu)秀的架構。在傳統(tǒng)的Model 1的程序結構中,只要有一點小的需求發(fā)生改變,將意味著放棄整個頁面?;蛘吒膶憽km然前期的開發(fā)速度快,除非可以保證以后永遠不會改變

11、應用的結構,否則不要采用Model 1的結構。采用Hibernate作為持久層技術的最大的好處在于:可以完全以面向對象的方式進行系統(tǒng)分析、系統(tǒng)設計。DAO模式需要為每個DAO組件編寫DAO接口,同時至少提供一個實現類,根據不同需要,可能有多個實現類。用Spring容器代替DAO工廠。通常情況下,引入接口就不可避免需要引入工廠來負責DAO組件的生成。Spring實現了兩種基本模式:單態(tài)模式和工廠模式。而使用Spring可以完全避免使用工廠模式,因為Spring就是個功能非常強大的工廠。因此,完全可以讓Spring充當DAO工廠。由Spring充當DAO工廠時,無須程序員自己實現工廠模式,只需要將DAO組件配置在Spring容器中,由 ApplicationContext負責管理DAO組件的創(chuàng)建即可。借助于Spring提供的依賴注入,其他組件甚至不用訪問工廠,一樣可以直接使用 DAO實例。 上面所述的優(yōu)勢是在一個月的學習時間里逐漸總結和體會到的,并不全面和深刻,只有在不斷的使用和整合中才能不斷加深對于SSH的理解和掌握,需要更深一步的學習。實習體會:通過一個月對于Struts2+Hibernate+Spring的學習,由開始的初步了解逐漸加深了對于SSH的理解,對于面向過程的編程語言到面向對象的編程語言的認識更加深刻,同時在一定程度上認識了面向

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論