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

正文內(nèi)容

基于mvc客戶管理子系統(tǒng)的設(shè)計與實現(xiàn)-閱讀頁

2025-07-09 03:46本頁面
  

【正文】 DBC的輕量級的對象封裝,它是一個獨立的對象持久層框架。Hibernate可以代替JDBC的編程應(yīng)用的場合,例如Java應(yīng)用程序中訪問數(shù)據(jù)庫部分的代碼,DAO模型中接入數(shù)據(jù)庫時的訪問代碼,甚至可以是BMP里面的訪問數(shù)據(jù)庫的代碼。(2)Hibernate不同于Entity Bean。從軟件整體的框架來看,Hibernate不能用于完全替代 Entity Bean。Hibernate另外也為我們提供了更靈活的事務(wù)管理機制,Hibernate使用Session來管理事務(wù),而 Entity Bean則將事務(wù)管理委派給了EJB容器。值得注意的是Hibernate的事務(wù)管理更加靈活,它可以在 JDBC Transaction和JTA Transaction之間進行選擇,默認情況下將使用JDBC Transaction。(4)靈活的對象系映射方法,可以實現(xiàn)各種不同類型的映射,而且Hibernate具有簡單易于操作的API接口和豐富的資源配置文檔,這些都使得應(yīng)用程序的開發(fā)更加簡單和快捷。Hibernate持久層框架封裝了數(shù)據(jù)持久層的很多相關(guān)的技術(shù)細節(jié),例如事物管理、數(shù)據(jù)庫連接管理、SQL語句的生成等,使得開發(fā)人員可以避免重復(fù)的JDBC編程,將精力投入到業(yè)務(wù)邏輯具體實現(xiàn)中去。Hibernate持久層框架是建立在面向?qū)ο蟮脑O(shè)計思想之上的,而ORM(Object Relational Mapping)是Hibernate持久層框架的基本特性,也是Hibernate實現(xiàn)面向?qū)ο笤O(shè)計的關(guān)鍵技術(shù)。(3)可以保證更好的性能。這些對于上層架構(gòu)完全透明的優(yōu)化機制的綜合使用大大提高了系統(tǒng)的性能。基于Java的跨平臺特性,開發(fā)的軟件系統(tǒng)可以在不同的操作系統(tǒng)之間切換,但由于數(shù)據(jù)庫之間的差異,系統(tǒng)在數(shù)據(jù)庫平臺之間移植并不太容易實現(xiàn)。 Spring框架的應(yīng)用 Spring是一個開源框架,它由Rod Johnson創(chuàng)建。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。Spring作為開源的中間件,獨立于各種應(yīng)用服務(wù)器,甚至無須應(yīng)用服務(wù)器的支持,也能提供應(yīng)用服務(wù)器的功能,如聲明式事務(wù)等??梢哉fSpring是企業(yè)應(yīng)用開發(fā)的“一站式”選擇,并貫穿表現(xiàn)層、業(yè)務(wù)層及持久層。簡單來說,Spring是一個一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架:(1)輕量:大小與開銷兩方面而言Spring都是輕量的。并且Spring所需的處理開銷也是微不足道的。(2)控制反轉(zhuǎn):Spring通過一種稱作控制反轉(zhuǎn)(IoC)的技術(shù)促進了松耦合。你可以認為IoC與JNDI相反——像從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。應(yīng)用對象只實現(xiàn)它們應(yīng)該做的——完成業(yè)務(wù)邏輯——僅此而已。(4)容器:Spring包含并管理應(yīng)用對象的配置和生命周期,在這個意義上它是一種容器,你可以配置你的每個bean如何被創(chuàng)建——基于一個可配置原型(prototype),你的bean可以創(chuàng)建一個單獨的實例或者每次需要時都生成一個新的實例——以及它們是如何相互關(guān)聯(lián)的[17]。(5)框架:Spring可以將簡單的組件配置、組合成為復(fù)雜的應(yīng)用。Spring也提供了很多基礎(chǔ)功能(事務(wù)管理、持久化框架集成等等)。它們也為Spring中的各種模塊提供了基礎(chǔ)支持。應(yīng)用程序通過Logger來輸出不同級別的日志信息。這種能力的實現(xiàn)決定于程序開發(fā)人員能夠根據(jù)一定的標準對這些logging信息進行分類。同時,log4j中預(yù)置了五個輸出級別:(1)error輸出ERROR級別的調(diào)試信息(2)warn輸出WARN級別的調(diào)試信息(3)info輸出INFO級別的調(diào)試信息(4)debug輸出DEBUG級別的調(diào)試信息(5)log普通的LOG信息一個Logger的日志輸出請求僅當其調(diào)試級別高于或等于該級別的時候才被允許執(zhí)行;否則,其輸出日志將被屏蔽。 第4章 客戶管理模塊的設(shè)計與實現(xiàn) 本章主要介紹信用卡系統(tǒng)的客戶管理子系統(tǒng),以及采用MVC設(shè)計模式的體系結(jié)構(gòu),這里以該子系統(tǒng)中賬戶管理模塊的設(shè)計為例說明整個設(shè)計開發(fā)過程,其他模塊的設(shè)計思想相同。在賬戶管理中,銀行員工根據(jù)客戶提供的開戶信息,為客戶辦理賬戶,并進行客戶信息和賬戶的維護;在此基礎(chǔ)上,信用卡管理中,根據(jù)客戶賬號辦理信用卡,同時進行卡信息的維護。 客戶管理模塊數(shù)據(jù)流圖 開發(fā)環(huán)境選擇 開發(fā)工具選擇采用開源框架開發(fā)系統(tǒng)需要注意的一個問題是各個框架版本兼容性,在本系統(tǒng)中,采用以下的開發(fā)工具:OS:Windows XP SP2IDE:MyEclipse 表示層:StrutsJava:業(yè)務(wù)層:Spring持久層:Hibernate數(shù)據(jù)層:MySQL Server Web服務(wù)器:Tomcat 經(jīng)過集成測試,以上開發(fā)環(huán)境是兼容可行的。目前,流行的Web服務(wù)器有很多種,比如BEA公司的WebLogic,IBM公司的WebSphere,開源軟件Tomcat等。Tomcat服務(wù)器是一個免費的開放源代碼的輕量級Web服務(wù)器,它是Apache軟件基金會(Apache Software Foundation)的Jakarta項目中的一個核心項目,由Apache、Sun和其他一些公司及個人共同開發(fā)而成。因為Tomcat技術(shù)先進、性能穩(wěn)定、跨平臺且免費,成為目前比較流行的Web應(yīng)用服務(wù)器之一,適合中小企業(yè)級的應(yīng)用開發(fā)。領(lǐng)域模型的主要意圖是捕獲領(lǐng)域的信息內(nèi)容。 客戶管理領(lǐng)域模型 客戶管理模塊用例分析及描述 客戶管理模塊主要管理客戶的客戶信息、賬戶信息、卡信息及交易記錄信息、賬單信息。為客戶提供信息維護、記賬結(jié)算功能。 客戶管理頂層用例圖下面對客戶管理模塊中主要用例進行描述:(1) 添加賬戶用例描述 添加賬戶用例用例名稱:添加新賬戶主要參與者:銀行員工基本流程:用戶進入客戶管理界面用戶選擇添加新賬戶用戶輸入并保存新賬戶信息系統(tǒng)保存新賬戶信息系統(tǒng)顯示保存成功信息擴展流程:用戶輸入的賬戶信息不完整或不符規(guī)范,系統(tǒng)提示重新輸入用戶取消添加新賬戶,本用例結(jié)束前置條件:用戶合法登錄系統(tǒng)用戶具有添加新賬戶的權(quán)限后置條件:若此用例成功,則數(shù)據(jù)庫中增加一條賬戶信息(2) 查詢賬戶信息用例描述 查詢賬戶用例用例名稱:查詢賬戶信息主要參與者:銀行員工基本流程:用戶進入客戶管理界面用戶選擇賬戶信息查詢系統(tǒng)返回賬戶信息給用戶擴展流程:無前置條件:用戶合法登錄系統(tǒng)后置條件:系統(tǒng)返回該賬戶信息,以列表的形式呈現(xiàn)給用戶(3) 修改賬戶用例描述 修改賬戶用例用例名稱:修改賬戶信息主要參與者:銀行員工基本流程:用戶進入客戶管理界面用戶瀏覽賬戶信息用戶修改并保存某賬戶信息系統(tǒng)顯示修改成功信息給用戶擴展流程:無前置條件:用戶合法登錄系統(tǒng)用戶具有修改賬戶信息的權(quán)限后置條件:若此用例成功,則數(shù)據(jù)庫中一條賬戶信息改變 客戶管理模塊的設(shè)計 主要用例的實現(xiàn)順序圖用于詳細描述用例的主題[19]。(1) 添加新賬戶順序圖 添加賬戶順序圖 (2) 查詢賬戶信息順序圖 查詢賬戶信息順序圖 (3) 修改賬戶信息順序圖 修改賬戶信息順序圖 類的設(shè)計。在業(yè)務(wù)層,Service類實現(xiàn)了遠程接口并封裝了對持久層DAO的調(diào)用。 客戶管理模塊主要類圖主要類的說明如下: (1) AccountService類:用來處理業(yè)務(wù)邏輯,實現(xiàn)客戶端訪問服務(wù)端的業(yè)務(wù)方法。它的作用在于為業(yè)務(wù)邏輯層對象提供一個操作持久層的接口,并對持久層的實現(xiàn)進行透明封裝,方便持久層實現(xiàn)機制的更換。(4) SpringDAO類:數(shù)據(jù)庫操作的封裝類。(5) Account類:持久化類,實現(xiàn)了可串行化接口,用于在不同層間傳遞數(shù)據(jù),它對應(yīng)于數(shù)據(jù)庫的數(shù)據(jù)表。以下是這些數(shù)據(jù)庫表的結(jié)構(gòu)。(2)2NF:關(guān)系模式R是1NF,而且每一個非主鍵屬性都完全函數(shù)依賴于R的鍵(即不存在“部分函數(shù)依賴”)。(3)3NF:關(guān)系模式R是2NF,而且它的任何一個非主鍵屬性都不傳遞依賴于R的任何候選鍵。(4)BCNF:在關(guān)系模式R是INF時,如果對于R的每個函數(shù)依賴XY,X必為候選鍵,則R為BCNF。不過,屬于3NF而非BCNF的關(guān)系模式不多。 數(shù)據(jù)庫表關(guān)系圖 Figure Relationship of database tables 客戶管理模塊的分層實現(xiàn) 用戶表示層 ,表示層主要包括視圖和控制器兩個主要部分。JSP文件用來提供用戶界面,接收用戶的輸入數(shù)據(jù),并進行表單的驗證。FilterDispatcher是Struts ,該控制器作為一個Filter運行在Web應(yīng)用中,它負責(zé)攔截所有的用戶請求,當用戶請求到達時,該Filter會過濾用戶請求。Action類通常用來處理用戶請求,調(diào)用處理業(yè)務(wù)邏輯的接口。 客戶管理模塊的頁面組件JSP組件用途添加賬戶頁面維護賬戶信息頁面更新賬戶信息頁面查詢客戶信息頁面更新客戶信息頁面存款信息頁面取款信息頁面查詢賬單信息頁面賬單詳細信息頁面未出賬單信息頁面結(jié)算信息頁面 ,需要在JSP頁面的page指令后添加如下指令:%taglib prefix=s uri=/strutstags%,頁面body部分的內(nèi)容如下: s:form action= s:textfield name=cardNo id=cardNo/ s:textfield name=amount id=amount / s:textfield name=depositDate readonly=true/ s:select name=location list=bankList.{bankName} s:submit value=確定 / s:reset value=確定 / /s:form其中表單屬性action對應(yīng)的值表示處理該表單的action的名字。例如::action name=deposit class=accountAction method=depositresult name=success/pages/account//resultresult name=error/pages/account//result/action 以上action的定義表單點擊提交之后,該表單會提交給名為deposit的action中的deposit方法加以處理。那么這個deposit又是如何被找到的呢?。 業(yè)務(wù)邏輯層 業(yè)務(wù)邏輯層主要用于處理表示層接收過來的數(shù)據(jù)信息,并調(diào)用持久層提供的方法對其加以處理。以便于將來可能的擴展替換。以上述存款功能的實現(xiàn)為例,其對應(yīng)的業(yè)務(wù)邏輯層代碼如下:Public class AccountService { private IAccountDAO accountDao = null。 } public void setAccountDao(IAccountDAO accountDao) { = accountDao。 } public List findByCustomer(Customer customer){ return (customer)。 } //根據(jù)時間段查詢 public List findByPeriod(Date startTime,Date endTime){ return (startTime,endTime)。 } public void update(Account account){ (account)。 } public List findAll(){ return ()。它將業(yè)務(wù)層的處理結(jié)果持久化到數(shù)據(jù)庫,或者從數(shù)據(jù)庫中讀取數(shù)據(jù)送到業(yè)務(wù)邏輯層。在數(shù)據(jù)持久層,主要采用了DAO模式進行數(shù)據(jù)源的封裝,定義了持久化對象實現(xiàn)數(shù)據(jù)庫表到持久化類的映射,由DAO實現(xiàn)數(shù)據(jù)的持久化操作,負責(zé)與數(shù)據(jù)庫交互。下面以部門信息為例說明DAO模式的實現(xiàn)和Hibernate的配置方法。 public static final String BALANCE = balance。 public static final String ACCOUNT_STATUS = accountStatus。 //添加賬戶接口 public abstract void save(Account transientInstance)。 //查詢賬戶接口 public abstract Account findById( id)。 public abstract List findByProperty(String propertyName, Object value)。 public abstract List findByBalance(Object balance)。public abstract List findAll()。 public abstract Account merge(Account detachedInstance)。public abstract void attachClean(Account instance)。 protected void initDao() { // do nothing } public void update(Account account) { (up
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1