freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于mvc的客戶管理子系統(tǒng)的設(shè)計與實現(xiàn)-在線瀏覽

2025-08-11 03:46本頁面
  

【正文】 (3)對信用卡系統(tǒng)進(jìn)行總體的分析,對信用卡管理中主要業(yè)務(wù)進(jìn)行了分析,并進(jìn)一步確定了系統(tǒng)的技術(shù)構(gòu)架。介紹了貫穿表現(xiàn)層、業(yè)務(wù)層、持久層的Spring框架,作為一個依賴注入的容器,對Struts與Hibernate實施監(jiān)控的同時,且可以做安全、日志工作。全文共分為五章:第1章,引言。概括分析說明了信用卡管理的主要業(yè)務(wù),在了解用戶需求的基礎(chǔ)上,設(shè)計了系統(tǒng)的總體功能模塊,采用了UML語言對系統(tǒng)進(jìn)行建模;第3章,系統(tǒng)研發(fā)技術(shù)。通過對該模塊的實現(xiàn),來體現(xiàn)整個設(shè)計思想,并介紹了本文實踐項目的一些亮點與獨到之處;第5章,系統(tǒng)評價??偨Y(jié)整個設(shè)計,并說明不足及進(jìn)一步改善的方向。 信用卡管理系統(tǒng)的總體功能框架 信用卡管理系統(tǒng)主要實現(xiàn)銀行信用卡和客戶間交易的記賬和管理功能。 信用卡管理系統(tǒng)功能結(jié)構(gòu)圖 系統(tǒng)的開發(fā)原則 (1) 可延展性和包容性 系統(tǒng)應(yīng)具有較好的可延展性和包容性。 (2) 系統(tǒng)簡潔,易使用、易維護 系統(tǒng)的設(shè)計符合日常辦公運作的需求,功能不僅要實用,還應(yīng)該簡單易學(xué),具有比較友好的用戶界面,易于擴充。 (3) 為員工,經(jīng)理提供良好的信息服務(wù) 系統(tǒng)對信用卡信息進(jìn)行了合理的布局,以便于提供優(yōu)質(zhì)、高效的業(yè)務(wù)管理和事務(wù)處理,是系統(tǒng)用戶對信用卡賬戶進(jìn)行維護,完成信用卡交易記賬和管理 (4) 可靠運行,安全保密 在該系統(tǒng)的開發(fā)過程中,將通過身份認(rèn)證,權(quán)限檢查,來解決信用卡管理系統(tǒng)的安全性、保密性問題,確保系統(tǒng)的有效和安全運行。其中客戶管理模塊主要的業(yè)務(wù)功能實現(xiàn),將在以下進(jìn)行相關(guān)的介紹。 客戶開戶管理子模塊業(yè)務(wù)流程示意圖(2)賬戶信息維護子模塊通過對開戶客戶的消費、取現(xiàn)、透支等交易記錄統(tǒng)計,銀行員工修改相應(yīng)賬戶的信用額度,同時完成賬戶的銷戶工作。 取款管理子模塊業(yè)務(wù)流程示意圖 賬單管理子模塊業(yè)務(wù)流程示意圖 (4) 賬單管理子模塊 賬單管理是信用卡管理中很重要的一部分。 (5) 報表管理子模塊 報表管理是信用卡管理中只針對銀行經(jīng)理一個模塊。 報表管理子模塊業(yè)務(wù)流程示意圖 以上描述了客戶管理、報表管理的大致功能及其數(shù)據(jù)流圖,而信用卡的管理及系統(tǒng)管理,其業(yè)務(wù)流程與客戶管理開戶與信息維護的流程大致相似,因此這里不做過多介紹。系統(tǒng)采用基于MVC的J2EE技術(shù)和Web技術(shù)來實現(xiàn)的。 WEB三層結(jié)構(gòu)示意圖目前,Web技術(shù)都是通過Http來實現(xiàn)客戶端和服務(wù)器的通訊的,對于簡單的HTML靜態(tài)文本來說,Http是一個很好的選擇。然而當(dāng)同一時刻客戶訪問量過大時,Web服務(wù)器則將成為整個系統(tǒng)的瓶頸。根據(jù)項目需求分析,確定本系統(tǒng)必須具備的性能有: (1)具有良好的交互性:工作內(nèi)容中有相當(dāng)大的部分是人機交互,這就要求系統(tǒng)的交互性要強,從而滿足需求。 (3)良好的可維護性:系統(tǒng)投入使用后,主要是由管理員承擔(dān)系統(tǒng)維護的工作,維護人員不定期變動,這就要求系統(tǒng)的可維護性強。 一個典型的J2EE應(yīng)用能很好地滿足以上的性能要求,它至少包括表現(xiàn)層、業(yè)務(wù)層、數(shù)據(jù)持久層和數(shù)據(jù)庫服務(wù)器四個部分。這樣也相應(yīng)地擴展了傳統(tǒng)Web的三層體系結(jié)構(gòu)。采用該多層結(jié)構(gòu)技術(shù)的另一個優(yōu)勢是“瘦”客戶端的設(shè)計和實現(xiàn)。本信用卡系統(tǒng)設(shè)計中,客戶端為瀏覽器,中間層以Tomcat作為應(yīng)用服務(wù)器支持業(yè)務(wù)邏輯的處理,以MySQL 。ModelViewController原來是Xerox PARC在八十年代為編程語Smalltalk80發(fā)明的一種應(yīng)用程序的框架結(jié)構(gòu),至今已被廣泛使用。MVC是可以滿足那些需要為同樣的數(shù)據(jù)提供多個視圖的應(yīng)用程序的開發(fā)需要,在開發(fā)與用戶界面相關(guān),特別是對用戶界面要求較復(fù)雜的相關(guān)的應(yīng)用程序時,可以很好地以不同的方式來顯示同一數(shù)據(jù),也就是在不改變軟件功能的前提下,可以實現(xiàn)用戶對用戶界面的個性化要求,而MVC模式的最大特點就是將業(yè)務(wù)層與表示層分離,而且提供了很多使顯示界面更加個性化的標(biāo)簽庫,所以它能更好地實現(xiàn)用戶界面的各種個性化需求。MVC設(shè)計模式,最近幾年被推薦為SIJN公司JZEE平臺的設(shè)計模式,它強制性地把應(yīng)用程序的輸入、處理和輸出分開[3]。在MVC的三個部件中,模型擁有最多的處理任務(wù)。被模型返回的數(shù)據(jù)都是中立的,也就是說模型和數(shù)據(jù)格式無關(guān),這樣一個模型能為多個視圖提供數(shù)據(jù)。(2)視圖(表示層):即用戶看到并與之交互的界面,是應(yīng)用程序的外在表現(xiàn),通常實現(xiàn)數(shù)據(jù)的輸入和輸出功能。因此如何處理應(yīng)用程序的界面變得越來越有挑戰(zhàn)性。在視圖中其實沒有真正的處理發(fā)生,不管這些數(shù)據(jù)是聯(lián)機存儲的還是一個雇員列表,作為視圖來講,它只是作為一種輸出數(shù)據(jù)并允許用戶操縱的方式。具體地來說:控制器本身不輸出任何東西和做出任何處理。 MVC組件類型的關(guān)系和功能 MVC開發(fā)的優(yōu)勢 經(jīng)過以上對MVC開發(fā)模式的介紹,以及兩種JSP開發(fā)模式的比較,我們對MVC開發(fā)模式有了一定的認(rèn)識,這里將進(jìn)一步介紹說明利用MVC模式開發(fā)的優(yōu)勢,具體表現(xiàn)在以下幾個方面:(1)MVC模式很好地解決了軟件工程中如何使軟件系統(tǒng)各模塊之間最大限度地降低其復(fù)雜的耦合關(guān)系,以及系統(tǒng)顯示邏輯和業(yè)務(wù)邏輯之間的矛盾(即用戶界面的多變性和業(yè)務(wù)邏輯的相對不變性),可以盡可能地提高系統(tǒng)的可維護性和可擴展性。(3)所有的模型和視圖都是由控制器連接和調(diào)用的,控制器控制功能使得它可以根據(jù)用戶不同階段的不同需求選擇不同的模型進(jìn)行處理,并選擇不同的視圖將處理結(jié)果顯示給用戶,很好地提高了系統(tǒng)的靈活性。多個視圖能夠提供多種數(shù)據(jù)顯示方式,以滿足不同用戶的需求。(5)模型的可移植性和伸縮性。然而,由于MVC是一個非常復(fù)雜的系統(tǒng),所以采用MVC實現(xiàn)Web應(yīng)用時,最好選一個現(xiàn)有的MVC框架,在此之下進(jìn)行開發(fā)。 Struts項目概述 Struts是Apache組織的一個項目,像其他的Apache組織的項目一樣,它也是一個開源項目?;赟truts架構(gòu)的Web應(yīng)用程序基本上符合JSPModel2的設(shè)計標(biāo)準(zhǔn),是MVC設(shè)計模式的一種變形,提供了對開發(fā)MVC系統(tǒng)的底層支持,它采用的主要技術(shù)是Servlet、JSP和Custom Tag Library[5]。另外,Struts不僅是擁有自己的控制器,同時整合了其他的一些技術(shù)來實現(xiàn)模型層和視圖層,例如:在模型層,它可以很容易與數(shù)據(jù)庫的訪問技術(shù)相組合,包括JDBC技術(shù)和EJB技術(shù);在視圖層,它能夠與JSP、XSL等組件相結(jié)合[6 ]。Struts的主要優(yōu)勢功能如下: (1)Struts中包含一個控制器Servlet,用來控制用戶的請求發(fā)送到相應(yīng)的Action對象;(2)在JSP頁面中可以選用自定義標(biāo)簽庫,并且在控制器Servlet中提供關(guān)聯(lián)支持,這樣可以幫助開發(fā)人員方便快捷地創(chuàng)建交互式表單應(yīng)用;(3)Struts還提供了一系列實用對象:XML文件處理、通過Java Reflection API自動處理JavaBean屬性、國際化的提示和消息。這個定義表示Struts是一個框架,而不是一個庫,但同時Struts也包含了豐富的標(biāo)記庫和獨立于該框架工作的實用程序類庫。1. ActionServlet,它在struts中扮演的角色是中心控制器。另外,除了作為應(yīng)用程序的前端控制器外,ActionServlet實例還負(fù)責(zé)初始化和清除應(yīng)用程序的資源。這樣用戶的請求和Action類之間可以有多個點對點的映射。如果session過期或者用戶沒有登錄,要將表示層的頁面跳轉(zhuǎn)到用戶登錄頁面;(2)檢查用戶輸入的合法性。調(diào)用業(yè)務(wù)邏輯Bean的相應(yīng)方法執(zhí)行用戶的業(yè)務(wù)請求;(4)更新服務(wù)器端的對象。 3. ActionForm一個應(yīng)用系統(tǒng)的消息轉(zhuǎn)移(或者說狀態(tài)轉(zhuǎn)移)的非持久性數(shù)據(jù)的存儲,通常由ActionForm Bean來負(fù)責(zé),它的主要功能是為Action的操作提供與客戶表單相映射的數(shù)據(jù)。 4. ActionForward當(dāng)Action實例的execute()方法運行完畢后,控制器根據(jù)Mapping可以將響應(yīng)信息轉(zhuǎn)到適當(dāng)?shù)牡胤?,ActionForward的主要功能就是對將要轉(zhuǎn)向的視圖的地址的一個封裝。 5. ActionMappingActionMapping以Java的形式封裝了怎樣將一個請求URL映射到與其對應(yīng)的Action的一些信息。Struts框架的控制器ActionServlet在內(nèi)部使用這些映射將控制轉(zhuǎn)移到特定的Action類的實例。當(dāng)ActionServlet接受到一個客戶請求時,將執(zhí)行如下流程:(l)檢索與用戶請求匹配的Action實例,如果不存在,控制器直接將請求轉(zhuǎn)發(fā)給JSP或靜態(tài)頁面。(2),對應(yīng)的相關(guān)的 Form Bean的信息也一起發(fā)送給Action類的execute()方法。(4) Action根據(jù)業(yè)務(wù)處理的不同結(jié)果返回一個相應(yīng)的目標(biāo)響應(yīng)對象給總控制器,這個目標(biāo)響應(yīng)對象可以對應(yīng)一個具體的JSP頁面或者是另外一個Action。 Struts框架實現(xiàn)MVC模型Struts實質(zhì)上就是JSP Model2的基礎(chǔ)上實現(xiàn)的一個MVC模式框架,MVC設(shè)計模式為構(gòu)建可擴展、可重用的體系結(jié)構(gòu)打下了很好的基礎(chǔ),該設(shè)計模式需要用戶將自己的代碼抽象出來,把項目在一定的程度上分解為表示,邏輯和控制三部分,每部分之間的關(guān)系相對較小,以便使得軟件結(jié)構(gòu)更加靈活,并具有較好的可重用性和可擴展性。 Struts實現(xiàn)的MVC模型Struts是Apache組織的一個項目,提供了一個實現(xiàn)MVC架構(gòu)的高度自動化的方式,作為一個MVC的框架,Struts對Model、View和Controller都提供了對應(yīng)的實現(xiàn)組件:(l)控制器(Controller):控制器的作用是從客戶端接收請求,并且選擇執(zhí)行相應(yīng)的業(yè)務(wù)邏輯,然后把響應(yīng)結(jié)果送回到客戶端。ActionServlet是MVC設(shè)計模式的決策控制部分,也是Struts框架的核心。ActionServlet還負(fù)責(zé)用相應(yīng)的請求參數(shù)填充ActionForm(通常稱之為FormBean),并將其傳給對應(yīng)的動作類(通常稱之為ActionBean)。ActionServlet包括一組基于配置的ActionMapping對象,每個ActionMapping對象實現(xiàn)了一個請求到一個具體的Model部分中Action處理器對象類之間的點到點的映射。ActionMapping類也包括一些程序中可能的唯一的信息,例如本地變量,特定環(huán)境數(shù)據(jù),或者URL。MVC系統(tǒng)中的Model部分從概念上可以分為兩類:系統(tǒng)的內(nèi)部狀態(tài)和改變系統(tǒng)狀態(tài)的動作。Action處理器對象封裝了具體的業(yè)務(wù)處理邏輯,處理具體的業(yè)務(wù)邏輯操作,并且把響應(yīng)提交到合適的View組件以產(chǎn)生響應(yīng)。我們可以從它派生子類的對象,利用它可以實現(xiàn)對客戶端的表單數(shù)據(jù)的良好封裝和支持,相應(yīng)的Action處理器對象可以直接對它的表單數(shù)據(jù)進(jìn)行讀寫,而不再需要和Request、Response對象進(jìn)行數(shù)據(jù)交互,通過ActionForm組件對象實現(xiàn)了對View和Model之間非持久性數(shù)據(jù)交互的支持。Struts應(yīng)用中的View部分是通過JSP技術(shù)實現(xiàn)的。 Struts框架開發(fā)的優(yōu)缺點Struts是一個優(yōu)秀的基于J2EE的MVC應(yīng)用框架,現(xiàn)在己經(jīng)越來越廣泛的運用于各種企業(yè)平臺之上。(2)允許開發(fā)人員使用XML文件來配置很多默認(rèn)的框架。(4)開源項目發(fā)展較快,但代碼、設(shè)計變動較大,利用不當(dāng)會對系統(tǒng)的維護和升級不利。Web應(yīng)用系統(tǒng)的開發(fā),很多時候業(yè)務(wù)邏輯的處理都會是和后端的數(shù)據(jù)庫進(jìn)行操作,然而Struts只為視圖、控制器提供了現(xiàn)成的框架,對于模型提供框架支持[10]。對Struts框架進(jìn)行不同的擴充,就可以得到符合很多設(shè)計要求的框架。這種應(yīng)用程序的基本架構(gòu)是MVC(Struts)+DAO(Data Access Object)+JDBC+Databases。因為大多數(shù)的應(yīng)用程序都涉及到的數(shù)據(jù)庫操作,通常數(shù)據(jù)庫表會很多而且關(guān)系復(fù)雜,如果使用DAO+JDBC訪問數(shù)據(jù)庫將會使得編程過程復(fù)雜化,進(jìn)而帶來的是大量的維護工作,特別是層與層之間的耦合性大,表格屬性的變動將極大的影響代碼的維護,因此需要有一種方便通用的方案來解決這個問題。本文主要應(yīng)用Hibernate:在Struts中,不需要太多的代碼,它能夠?qū)ο笥成涞疥P(guān)系數(shù)據(jù)庫中的行,不需要編寫復(fù)雜的SQL語句,開發(fā)架構(gòu)也就變成Struts+ DAO+ Hibernate+Database,毫無疑問使用Hibemate實現(xiàn)持久層是一種有效的選擇,它可以大大減少操作數(shù)據(jù)庫的工作量,并且使得系統(tǒng)更加易于維護。關(guān)系數(shù)據(jù)庫和面向?qū)ο蠹夹g(shù)在現(xiàn)今的很多大型應(yīng)用中都有廣泛地應(yīng)用,將這兩者結(jié)合起來將會出現(xiàn)更加復(fù)雜和高效的軟件系統(tǒng),然而很明顯面向?qū)ο笤O(shè)計使用的對象范例與關(guān)系數(shù)據(jù)庫使用的關(guān)系范例之間存在著“阻抗不匹配”[11]。兩種不同的理論基礎(chǔ)必將導(dǎo)致各自有不同的側(cè)重點,對象范例側(cè)重于從包含數(shù)據(jù)和行為的對象中構(gòu)建應(yīng)用程序,而關(guān)系范例則主要側(cè)重于對數(shù)據(jù)的存儲。數(shù)據(jù)持久層的提出就是在對象——關(guān)系數(shù)據(jù)庫之間提供一個成功的映射解決方案,盡可能彌補這兩種差異[12]。Java語言有很多種數(shù)據(jù)持久化的實現(xiàn)方式,如 Object Serialization,JDBC和EJB,但相比較來說比較有效的應(yīng)該是O/R Mapping技術(shù),它給以上兩者之間提供了一個很好的過渡層,實現(xiàn)了面向?qū)ο蟮脑O(shè)計思想,能很好解決“阻抗不匹配”的問題,并且很快就得到了廣泛地應(yīng)用。O/R Mapping實現(xiàn)數(shù)據(jù)持久技術(shù)的比較成熟且得到廣泛應(yīng)用的框架,利用該框架來實現(xiàn)數(shù)據(jù)持久化,會更加有利于系統(tǒng)的維護和移植。它可以直接映射大部分的JavaBean而不需要做任何修改,即使修改最多也就是在對應(yīng)的Bean里面加上一些私有訪問方法;可以將一個用戶定義的多個實例映射到一張表的同一行。對于使用JDBC和SQL手工操作數(shù)據(jù)庫來說,使用Hibernate,可以大大減少操作數(shù)據(jù)庫的工作量。Hibernate使用數(shù)據(jù)庫和配置文件數(shù)據(jù)來給應(yīng)用程序提供相應(yīng)的持久化服務(wù)和持久化的對象PO(Persistent Objects)。(1)
點擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1