資源描述:
《基于struts2框架的信息發(fā)布系統(tǒng)的設(shè)計(jì)與初步實(shí)現(xiàn)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、第一章Struts2的起源和發(fā)展說到網(wǎng)絡(luò)應(yīng)用很難讓人不聯(lián)想到網(wǎng)絡(luò)信息的瀏覽,自從Internet進(jìn)入民用領(lǐng)域之后,上網(wǎng)成為了越來越多的人閑暇時光的消磨手法。于是網(wǎng)絡(luò)系統(tǒng)的開發(fā)也變得越來越總要。1.1Web技術(shù)的發(fā)展隨著Internet技術(shù)的大面積應(yīng)用和發(fā)展,傳統(tǒng)的靜態(tài)HTML頁面由于缺乏足夠的用戶交互能力已經(jīng)無法滿足日益膨脹的網(wǎng)絡(luò)需求。人們希望Web應(yīng)用中能夠包含更多的動態(tài)交互功能,于是為了應(yīng)對擁有更廣泛用戶群的動態(tài)Web開發(fā),軟件開發(fā)商分別推出的ASP和JSP兩款動態(tài)網(wǎng)站開發(fā)解決方案。但是當(dāng)時的JSP開發(fā)并沒有很科學(xué)的層次設(shè)計(jì),最初的JSP
2、開發(fā)中邏輯代碼和前端代碼雜合在一起。雖然在最初開發(fā)時這樣的做法使得開發(fā)非常的容易,然而隨著Web系統(tǒng)的使用越來越廣泛,應(yīng)用規(guī)模的日益增長,如果繼續(xù)使用傳統(tǒng)的簡單的JSP+Servlet結(jié)構(gòu)進(jìn)行Web系統(tǒng)的開發(fā),則會由于系統(tǒng)層次混亂而導(dǎo)致系統(tǒng)的開發(fā)難度和維護(hù)成本越來越大,最終使開發(fā)過程陷入困境。1.2MVC思想進(jìn)入Web系統(tǒng)開發(fā)面對開發(fā)過程中所出現(xiàn)的困難,開發(fā)者們試圖尋找一種能夠使得開發(fā)結(jié)構(gòu)更加具有條理性的開發(fā)模式。根據(jù)以往面向?qū)ο笙到y(tǒng)設(shè)計(jì)的經(jīng)驗(yàn),開發(fā)者開始將MVC開發(fā)模式引入Web系統(tǒng)的開發(fā)。MVC模式將一個應(yīng)用分為三個基本部分:Model(
3、模型)、View(視圖)、Controller(控制器)。在此模式中觸發(fā)事件由控制器捕獲,并根據(jù)事件的類型來改變模型和視圖。這樣既可將系統(tǒng)模型與視圖分離,從而使各部分能夠工作在最小的耦合狀態(tài)下協(xié)同工作,從來提高系統(tǒng)的擴(kuò)展性和可維護(hù)性。將其引入Web系統(tǒng)開發(fā)后,系統(tǒng)模式由傳統(tǒng)的JSP完成用戶請求和響應(yīng)改變?yōu)橛煽刂破鞑东@用戶請求,JavaBean完成模型操作,而JSP專門負(fù)責(zé)響應(yīng)用戶需求。老一代的開發(fā)框架Struts1便是這時的產(chǎn)物。1.3Struts2開發(fā)框架的成型隨著Struts1框架在Web系統(tǒng)開發(fā)中的大量應(yīng)用,越來越多的使用者發(fā)現(xiàn)Stru
4、ts1有著許多不可避免的缺陷。首先,Struts1只支持JSP作為表現(xiàn)層,然而并不是所有的Web系統(tǒng)都必須使用JSP進(jìn)行信息反饋。其次,Struts1編寫業(yè)務(wù)邏輯控制器時,必須調(diào)用大量ServletAPI,而這些接口都是依賴于Web服務(wù)器的。這樣就造成了業(yè)務(wù)邏輯測試無法脫離Web容器,造成了測試的困難。最后,由于大量的ServletAPI使用,使得系統(tǒng)結(jié)構(gòu)混亂,使得這些業(yè)務(wù)邏輯在使用其他框架是需要大量重寫,降低了代碼使用效率。為了應(yīng)對這些問題,Struts2去除了業(yè)務(wù)邏輯中對于ServletAPI的耦合,使得業(yè)務(wù)邏輯類不需要繼承任何Strut
5、s2基類,降低了測試難度,也加強(qiáng)了Action類的可移植性。1.4本章小結(jié)本章從Web系統(tǒng)開發(fā)的發(fā)展歷程入手,講述了Web系統(tǒng)開發(fā)模式的變化,從而引出了Struts框架的起源,描述了Struts1的出現(xiàn),以及所帶來的問題。并由此解釋了Struts2出現(xiàn)的目的,和解決的問題。第二章Struts2框架的基本原理學(xué)習(xí)一個框架,我們首先要了解他的工作原理和基本工作方式,由此才能夠進(jìn)行后續(xù)的學(xué)習(xí)和使用,本章從基本的流程開始講解Struts2的基本原理和相關(guān)配置。2.1Struts2的事務(wù)處理流程相對于Struts1框架,Struts2為了使業(yè)務(wù)邏輯控制
6、與Servlet容器的API分離而大量使用了攔截器來處理用戶的請求。首先由Struts2的核心控制器攔截到用戶在瀏覽器中發(fā)送的請求,然后核心控制器根據(jù)請求調(diào)用適當(dāng)?shù)腁ction進(jìn)行處理。然后根據(jù)Action返回的參數(shù)選擇對應(yīng)處理方式將處理的結(jié)果返回給瀏覽器。2.2Struts2的基本配置Struts2的基本配置主要包括三個部分:站點(diǎn)設(shè)置、核心設(shè)置控制器、業(yè)務(wù)控制器設(shè)置。2.2.1為站點(diǎn)添加Struts2框架支持要使用Struts2框架開發(fā)就必須要將Struts2框架嵌入到當(dāng)前的Web系統(tǒng)中,為Web系統(tǒng)提供相關(guān)支持。那么我們需要被指配置WEB
7、-INF路徑下的web.xml文件,將Struts2的核心控制器鍵入系統(tǒng)。該Web.xml文件在開發(fā)過程中該文件會存在與源代碼目錄中。具體設(shè)置比較簡單,只需要將web.xml中的filter標(biāo)簽配置為:Struts2org.apache.struts2.dispatcher.FilterDispatcherStruts28、me>/*
這樣設(shè)置之后系統(tǒng)將會調(diào)用struts2框架的FilterDispa