2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目 錄</b></p><p><b>  第一章 引言1</b></p><p>  1.1 課題的背景及意義1</p><p>  1.2 完成的內(nèi)容與設計結果2</p><p>  1.2.1 設計目標2</p><p>  

2、1.2.2 設計內(nèi)容2</p><p>  1.3 實施步驟3</p><p>  第二章 相關技術介紹5</p><p>  2.1開發(fā)模式:B/S模式5</p><p>  2.2 Spring MVC5</p><p>  2.3 Bootstrap6</p><p>  2.

3、4 Jquery6</p><p>  第三章 概要設計8</p><p>  3.1 系統(tǒng)結構8</p><p>  3.2 系統(tǒng)主要功能8</p><p>  第四章 數(shù)據(jù)庫設計10</p><p>  4.1 系統(tǒng)類圖10</p><p>  4.2 系統(tǒng)E-R圖11<

4、/p><p>  4.3系統(tǒng)數(shù)據(jù)庫設計11</p><p>  第五章 詳細設計13</p><p>  5.1 系統(tǒng)用例圖13</p><p>  5.2 柜臺操作模塊13</p><p>  5.2.1柜臺操作模塊功能介紹13</p><p>  5.2.2柜臺操作模塊用例圖14&l

5、t;/p><p>  5.2.3柜臺操作模塊時序圖15</p><p>  5.3 ATM服務模塊22</p><p>  5.3.1 ATM服務模塊功能介紹22</p><p>  5.3.2 ATM服務模塊用例圖23</p><p>  5.3.3 ATM服務模塊時序圖24</p><p&

6、gt;  第六章 程序?qū)崿F(xiàn)28</p><p>  6.1 柜臺操作模塊截圖28</p><p>  6.2 ATM服務模塊截圖32</p><p>  6.3 重點代碼33</p><p><b>  第七章 總結40</b></p><p><b>  第一章 引言<

7、/b></p><p>  1.1 課題的背景及意義</p><p>  自1580年第一家銀行在意大利威尼斯誕生至今,隨著商品交換、貨幣流通的迅速擴大,以及國際貿(mào)易的迅速發(fā)展,銀行業(yè)獲得了空前飛速的發(fā)展,其地位、作用日益加強,銀行的工作效率和貨幣流通能力更是成為整個經(jīng)濟發(fā)展速度的決定性因素之一。而隨著電子信息技術的崛起,銀行的業(yè)務處理能力與日俱增,作為銀行支付結算工作的前提和基礎,

8、銀行結算賬戶的管理成為了銀行管理流程中的至關重要的部分。</p><p>  銀行結算賬戶是指存款人在經(jīng)辦銀行開立的辦理資金收付結算的人民幣活期存款賬戶,是集中反映整個社會經(jīng)濟活動中資金流動的基礎。銀行結算賬戶管理需經(jīng)過國務院行政許可授權,是各大銀行支付結算管理工作中的一向重要內(nèi)容,有效的銀行結算賬戶管理可以為經(jīng)濟、金融秩序運行提供強有力的基礎支持,營造公平競爭、合規(guī)有序的良好氛圍,對于促進我國金融業(yè)健康、平穩(wěn)發(fā)

9、展有著重要意義。</p><p>  銀行賬戶管理制度的確立,賬戶管理系統(tǒng)的設計直接影響著銀行在結算管理中的效率,有效的賬戶管理工作就相當與一面“防火墻”,可以從源頭上控制非法金融活動,穩(wěn)定金融秩序,同時在反洗錢,反貪污中也能發(fā)揮關鍵性作用。以法律形式明確規(guī)定存款人在賬戶開立、使用中應承擔的責任、義務,賦予人民銀行和商業(yè)銀行相應的限制權利和措施,提高行政執(zhí)法效率,進一步規(guī)范結算賬戶的開立和使用,對于完善我國的賬戶

10、管理制度,提高對賬戶的管理效率,促進人民銀行履行職能具有重要的意義。</p><p>  由于受到計算機技術的限制,我國銀行電子化起步較晚,各方面技術也不太完善。以中國人民銀行為例,其銀行賬戶管理系統(tǒng)先后經(jīng)歷了單機版、集中式處理、雙層的C/S模式,最終發(fā)展到多層的B/S模式。B/S模式也是現(xiàn)今主流的管理系統(tǒng)開發(fā)模式。</p><p>  2004年6月至2005年2月,中國人民銀行首次采用

11、面向?qū)ο蟮姆椒ńM織開發(fā)了全國統(tǒng)一人民幣結算賬戶管理系統(tǒng)(簡稱:結算賬戶管理系統(tǒng))軟件,2005年6月此系統(tǒng)推廣到全國,實現(xiàn)了結算賬戶的全國統(tǒng)一管理。系統(tǒng)投入使用后,能夠在全國范圍內(nèi)嚴格控制核準類賬戶的開立,監(jiān)控存款人在全國開立的所有結算賬戶。結算賬戶管理系統(tǒng)成為人民銀行實施結算賬戶管理、金融監(jiān)控業(yè)務的一個重要支撐系統(tǒng),同時也為發(fā)現(xiàn)金融犯罪提供了決策依據(jù)。 </p><p>  相比中國,美國的銀行電子化比中國早了

12、十幾年,而同在亞洲的日本銀行的電子化管理也早于中國。當今世界,銀行賬戶系統(tǒng)的網(wǎng)絡化成了一個流行趨勢,所有的信息處理都要求極高的效率,同時還要有極高的安全性,B/S模式在系統(tǒng)開發(fā)中越來越重要,而如何實時高效地處理成千上萬的數(shù)據(jù)對系統(tǒng)設計的要求也愈來愈高。</p><p>  1.2 完成的內(nèi)容與設計結果</p><p>  1.2.1 設計目標</p><p>  本

13、次設計的主要目標是透過銀行賬戶結算管理系統(tǒng)的設計,重點分析銀行賬戶的結算和管理兩個過程,對各個業(yè)務流程有更好的了解,如:</p><p>  1、模擬開戶時用戶提交信息與后臺模塊的信息數(shù)據(jù)庫中的信息進行比對,來確定是否授予開戶準許,通過這一過程來分析了解銀行賬戶開戶的審核過程。</p><p>  2、了解銀行計息方式,賬戶分類,賬戶的業(yè)務狀態(tài)等來模擬銀行賬戶管理中的不同的業(yè)務流程。如銀行

14、常用的賬戶狀態(tài)處于激活,掛失,銷戶等不同狀態(tài)下所對應的操作;不同的存款方式可使用不同的計息方式等。</p><p>  3、模擬賬戶管理中操作權限的管理,從而分析銀行在賬戶數(shù)據(jù)操作中的安全保障措施。</p><p>  1.2.2 設計內(nèi)容</p><p>  該系統(tǒng)主要完成ATM服務模塊和柜臺操作模塊的功能。</p><p>  1、ATM

15、服務模塊功能有:</p><p> ?。?)存款 </p><p><b> ?。?)取款 </b></p><p> ?。?)查詢余額 </p><p>  (4)轉賬(本地/異地/本行/跨行)</p><p> ?。?)修改密碼 </p><p&

16、gt;  2、柜臺操作模塊功能有:</p><p>  (1)開戶 </p><p><b> ?。?)存款</b></p><p> ?。?)取款 </p><p> ?。?)轉賬(本地/異地/本行/跨行)</p><p> ?。?)掛失

17、 </p><p><b> ?。?)銷戶</b></p><p> ?。?)用戶信息查詢 </p><p> ?。?)修改賬戶信息 </p><p><b>  1.3 實施步驟</b></p><p>  銀行賬戶結算管理系統(tǒng),先后經(jīng)歷系統(tǒng)調(diào)研、需求分析、

18、系統(tǒng)設計、編碼、系統(tǒng)調(diào)試、系統(tǒng)再修改等階段。</p><p>  查閱文獻資料,進行系統(tǒng)調(diào)研</p><p>  完成前期需求分析工作,初步確定系統(tǒng)詳細開發(fā)周期。</p><p><b>  系統(tǒng)設計</b></p><p>  針對前期確定的需求分析得出一個可行的設計方案。概要系統(tǒng)所需的界面和數(shù)據(jù)表,大致確定系統(tǒng)框架結

19、構與各功能模塊的分工。</p><p><b>  編碼</b></p><p>  根據(jù)系統(tǒng)設計確定的方案編碼,具體實現(xiàn)系統(tǒng)。主要是實現(xiàn)系統(tǒng)的框架結構設計、界面布局設計、功能模塊設計。</p><p>  4、對系統(tǒng)的設計進行更完善的修改,并對系統(tǒng)進行分析和可行性實驗,在短時間內(nèi)建立系統(tǒng)應用原型。</p><p>  

20、主要是大致完成柜臺操作模塊和ATM服務模塊兩大功能模塊的具體功能。</p><p><b>  5、系統(tǒng)調(diào)試。</b></p><p>  調(diào)試系統(tǒng)各模塊的功能與健壯性。</p><p><b>  6、系統(tǒng)再修改。</b></p><p>  根據(jù)系統(tǒng)調(diào)試出現(xiàn)的問題修改系統(tǒng),改進相關編碼和設計。&

21、lt;/p><p>  第二章 相關技術介紹</p><p>  2.1開發(fā)模式:B/S模式</p><p>  B/S模式管理信息系統(tǒng)基本上克服了C/S 模式管理信息系統(tǒng)的不足,其主要表現(xiàn)在: </p><p>  系統(tǒng)開發(fā)、維護和升級的經(jīng)濟性,對于大型的管理信息系統(tǒng),軟件開發(fā)、維護與升級的費用是非常高的,B/S模式所具有的框架結構可以大大節(jié)省

22、這些費用,同時,B/S模式對前臺客戶機的要求并不高,可以避免盲目進行硬件升級造成的巨大浪費。 B/S模式提供了一致的用戶界面,B/S模式的應用軟件都是基于Web瀏覽器的,這些瀏覽器的界面都很相似。對于無用戶交互功能的頁面,用戶接觸的界面都是一致的,從而可以降低軟件的培訓費用。B/S模式具有很強的開放性,在B/S模式下,外部的用戶亦可通過通用的瀏覽器進行訪問。B/S模式的結構易于擴展,由于Web的平臺無關性,BS模式結構可以任意擴展,可以

23、從一臺服務器、幾個用戶的工作組級擴展成為擁有成千上萬用戶的大型系統(tǒng)。B/S模式具有更強的信息系統(tǒng)集成性,在B/S模式下,集成了解決企事業(yè)單位各種問題的服務,而非零散的單一功能的多系統(tǒng)模式,因而它能提供更高的工作效率。B/S模式提供靈活的信息交流和信息發(fā)布服務。B/S模式借助Internet強大的信息發(fā)布與信息傳送能力可以有效地解決企業(yè)內(nèi)部的大量不規(guī)則的信息交流。</p><p>  2.2 Spring MVC&

24、lt;/p><p>  Spring MVC屬于SpringFrameWork的后續(xù)產(chǎn)品,已經(jīng)融合在Spring Web Flow里面。Spring 框架提供了構建 Web 應用程序的全功能 MVC 模塊。使用 Spring 可插入的 MVC 架構,可以選擇是使用內(nèi)置的 Spring Web 框架還可以是 Struts 這樣的 Web 框架。通過策略接口,Spring 框架是高度可配置的,而且包含多種視圖技術,例如

25、JavaServer Pages(JSP)技術、Velocity、Tiles、iText 和POI。Spring MVC 框架并不知道使用的視圖,所以不會強迫您只使用 JSP 技術。Spring MVC 分離了控制器、模型對象、分派器以及處理程序?qū)ο蟮慕巧@種分離讓它們更容易進行定制。</p><p>  MVC作為WEB項目開發(fā)的核心環(huán)節(jié),正如三個單詞的分解那樣,C(控制器)將V(視圖、用戶客戶端)與M(模塊

26、,業(yè)務)分開構成了MVC ,這邊不去討論項目中是否應用MVC ,也不針對MVC的實現(xiàn)原理進行講解,而是探討實踐中如何從應用SSH, 到Spring MVC + Spring+Hibernate的演化過程。</p><p>  2.3 Bootstrap</p><p>  Bootstrap是Twitter推出的一個開源的用于前端開發(fā)的工具包。它由Twitter的設計師Mark Otto和

27、Jacob Thornton合作開發(fā),是一個CSS/HTML框架。Bootstrap提供了優(yōu)雅的HTML和CSS規(guī)范,它即是由動態(tài)CSS語言Less寫成。Bootstrap一經(jīng)推出后頗受歡迎,一直是GitHub上的熱門開源項目,包括NASA的MSNBC(微軟全國廣播公司)的Breaking News都使用了該項目。Bootstrap是基于jQuery框架開發(fā)的,它在jQuery框架的基礎上進行了更為個性化和人性化的完善,形成一套自己獨有

28、的網(wǎng)站風格,并兼容大部分jQuery插件。Bootstrap中包含了豐富的Web組件,根據(jù)這些組件,可以快速的搭建一個漂亮、功能完備的網(wǎng)站。其中包括以下組件:下拉菜單、按鈕組、按鈕下拉菜單、導航、導航條、面包屑、分頁、排版、縮略圖、警告對話框、進度條、媒體對象等。</p><p>  2.4 Jquery</p><p>  Jquery是繼prototype之后又一個優(yōu)秀的Javascr

29、ipt框架。它是輕量級的js庫,它兼容CSS3,還兼容各種瀏覽器。jQuery使用戶能更方便地處理HTML documents、events、實現(xiàn)動畫效果,并且方便地為網(wǎng)站提供AJAX交互。</p><p>  jQuery EasyUI是一組基于jQuery的UI插件集合,而jQuery EasyUI的目標就是幫助web開發(fā)者更輕松的打造出功能豐富并且美觀的UI界面。開發(fā)者不需要編寫復雜的javascript,

30、也不需要對css樣式有深入的了解,開發(fā)者需要了解的只有一些簡單的html標簽。</p><p>  Uploadify是一款優(yōu)秀jQuery插件,主要功能是批量上傳文件,此插件在項目中已被廣泛使用。</p><p><b>  第三章 概要設計</b></p><p><b>  3.1 系統(tǒng)結構</b></p>

31、;<p>  銀行賬戶結算管理系統(tǒng)的分為ATM服務模塊,柜臺操作模塊和后臺管理模塊。我主要完成的是ATM服務模塊和柜臺操作模塊功能的實現(xiàn)。系統(tǒng)結構如圖3.1所示</p><p><b>  圖3.1系統(tǒng)結構圖</b></p><p>  Fig 3.1 System Structure</p><p>  3.2 系統(tǒng)主要功能&l

32、t;/p><p>  銀行賬戶結算管理系統(tǒng)的分為ATM服務模塊和柜臺操作模塊。</p><p>  其中,有三個角色,分別是:用戶、操作員、管理員。</p><p><b>  具體功能設計如下:</b></p><p>  1、柜臺操作模塊主要功能要求</p><p> ?。?)開戶:用戶可以向操作

33、員申請開戶,申請成功后經(jīng)管理員批準則開戶成功。 </p><p>  (2)存款:用戶登錄成功后可以選擇已綁定的某張銀行卡進行存款。</p><p> ?。?)取款:用戶登錄成功后可以選擇已綁定的某張銀行卡進行取款。 </p><p> ?。?)轉賬(本地/異地/本行/跨行):用戶登錄成功后可以選擇已綁定的某張銀行卡進行轉賬,支持多種方式。&l

34、t;/p><p> ?。?)掛失:用戶登錄成功后可以選擇已綁定的某張銀行卡進行掛失。 </p><p> ?。?)銷戶:操作員可以對用戶進行注銷。</p><p>  (7)用戶信息查詢: 用戶登錄成功后可以查看自己的用戶信息,操作員和管理員可以查看所有用戶的用戶信息。 </p><p>  (8)修改賬戶信息: 用于對

35、已有信息進行更改,對于一些錯誤的數(shù)據(jù)可以進行及時的修改。用戶登錄成功后可以修改自己的賬戶信息,操作員和管理員可以修改所有用戶的賬戶信息。 </p><p>  2、ATM服務模塊主要功能要求</p><p> ?。?)存款: 用戶登錄成功后選擇“ATM服務”可以選擇已綁定的某張銀行卡進行存款。 </p><p> ?。?)取款: 用戶登錄成功后選擇“

36、ATM服務”可以選擇已綁定的某張銀行卡進行取款。 </p><p> ?。?)查詢余額: 用戶登錄成功后選擇“ATM服務”可以選擇已綁定的某張銀行卡進行余額的查詢。 </p><p> ?。?)轉賬(本地/異地/本行/跨行): 用戶登錄成功后選擇“ATM服務”可以選擇已綁定的某張銀行卡進行轉賬,支持多種方式。</p><p> ?。?)修改密碼: 用戶登錄成

37、功后可以修改自己的密碼。 </p><p><b>  第四章 數(shù)據(jù)庫設計</b></p><p><b>  4.1 系統(tǒng)類圖</b></p><p>  系統(tǒng)類圖如圖4.1所示:</p><p><b>  圖4.1 系統(tǒng)類圖</b></p><p&

38、gt;  Fig 4.1 System Class Diagram</p><p>  用戶表、權限表、用戶權限表是相互關聯(lián)的關系,用戶表和用戶權限表是一對多,權限表和用戶權限表是一對多;一個用戶表可以有多個賬戶表。</p><p>  4.2 系統(tǒng)E-R圖</p><p>  系統(tǒng)E-R圖如圖4.2所示:</p><p>  圖4.2 系統(tǒng)

39、E-R圖</p><p>  Fig 4.2 System E-R Diagram</p><p>  4.3系統(tǒng)數(shù)據(jù)庫設計</p><p>  系統(tǒng)數(shù)據(jù)庫利用MySQL創(chuàng)建,數(shù)據(jù)庫是一個信息系統(tǒng)的重要組成部分。所以在做系統(tǒng)需求分析時就必須設計好數(shù)據(jù)庫。本系統(tǒng)涉及的數(shù)據(jù)表主要有:</p><p>  1、用戶表 t_user:(附表.1)&l

40、t;/p><p>  存儲用戶信息,包括有用戶名和密碼等具體信息。</p><p>  2、賬戶表 t_account:(附表.2)</p><p>  存儲每個用戶的賬戶信息,每個用戶可以有多個賬戶信息。</p><p>  3、權限表 t_app:(附表.3)</p><p><b>  存儲權限信息。<

41、;/b></p><p>  4、用戶權限表 t_user_app:(附表.4)</p><p>  對不同用戶不同的權限分配進行管理。</p><p><b>  第五章 詳細設計</b></p><p><b>  5.1 系統(tǒng)用例圖</b></p><p>  圖

42、5.1 系統(tǒng)用例圖</p><p>  Fig 5.1 System Use Case Diagram</p><p>  5.2 柜臺操作模塊</p><p>  5.2.1柜臺操作模塊功能介紹</p><p>  用戶可以向操作員申請開戶,申請成功后經(jīng)管理員批準則開戶成功;用戶登錄成功后可以選擇已綁定的某張銀行卡進行存款、取款、轉賬和掛失

43、; 操作員可以對用戶進行注銷; 用戶登錄成功后可以查看或修改自己的用戶信息,操作員和管理員可以查看或修改所有用戶的用戶信息。</p><p>  5.2.2柜臺操作模塊用例圖</p><p>  圖5.2.2 柜臺操作模塊用例圖</p><p>  Fig 5.2.2 Counter Operation Module Use Case Diagram</p&g

44、t;<p>  5.2.3柜臺操作模塊時序圖</p><p>  5.2.3.1 開戶</p><p>  圖5.2.3.1 開戶時序圖</p><p>  Fig 5.2.3.1 Opening Sequence Diagram</p><p>  5.2.3.2 存款</p><p>  圖5.2.3

45、.2 存款時序圖</p><p>  Fig 5.2.3.2 Deposit Sequence Diagram</p><p>  5.2.3.3 取款</p><p>  圖5.2.3.3 取款時序圖</p><p>  Fig 5.2.3.3 Withdrawals Sequence Diagram</p><p>

46、;  5.2.3.4 轉賬</p><p>  圖5.2.3.4 轉賬時序圖</p><p>  Fig 5.2.3.4 Transfer Sequence Diagram</p><p>  5.2.3.5 掛失</p><p>  圖5.2.3.5 掛失時序圖</p><p>  Fig 5.2.3.5 Loss

47、Report Sequence Diagram</p><p>  5.2.3.6 銷戶</p><p>  圖5.2.3.6 銷戶時序圖</p><p>  Fig 5.2.3.6 Cancel the Account Sequence Diagram</p><p>  5.2.3.7 用戶信息查詢</p><p>

48、;  圖5.2.3.7 用戶信息查詢時序圖</p><p>  Fig 5.2.3.7 Query User Information Sequence Diagram</p><p>  5.2.3.8 修改用戶信息</p><p>  圖5.2.3.8 修改用戶信息時序圖</p><p>  Fig 5.2.3.8 Modify User

49、InformationSequence Diagram</p><p>  5.3 ATM服務模塊</p><p>  5.3.1 ATM服務模塊功能介紹</p><p>  用戶登錄成功后選擇“ATM服務”可以選擇已綁定的某張銀行卡進行存款、取款、轉賬以及余額的查詢; 用戶登錄成功后可以修改自己的密碼。</p><p>  5.3.2 AT

50、M服務模塊用例圖</p><p>  圖5.3.2 ATM服務模塊用例圖</p><p>  Fig 5.3.2 ATM Services Module Use Case Diagram</p><p>  5.3.3 ATM服務模塊時序圖</p><p>  5.3.3.1 存款</p><p>  圖5.3.3.1

51、 存款時序圖</p><p>  Fig 5.3.3.1 Deposit Sequence Diagram</p><p>  5.3.3.2 取款</p><p>  圖5.3.3.2 取款時序圖</p><p>  Fig 5.3.3.2 Withdrawals Sequence Diagram</p><p> 

52、 5.3.3.3 轉賬</p><p>  圖5.3.3.3 轉賬時序圖</p><p>  Fig 5.3.3.3 Transfer Sequence Diagram</p><p>  5.3.3.4 查詢余額</p><p>  圖5.3.3.4 查詢余額時序圖</p><p>  Fig 5.3.3.4 Que

53、ry Balance Sequence Diagram</p><p>  5.3.3.5 修改密碼</p><p>  圖5.3.3.5 修改密碼時序圖</p><p>  Fig 5.3.3.5 Change Password Sequence Diagram</p><p><b>  第六章 程序?qū)崿F(xiàn)</b>&l

54、t;/p><p>  6.1 柜臺操作模塊截圖</p><p>  登陸界面:用戶打開瀏覽器在地址欄輸入</p><p>  http://localhost:8080/ </p><p>  進入到登陸界面輸入用戶名密碼,登錄成功后,如圖6.1.1所示</p><p>  輸入用戶名和密碼后,跳轉到如圖6.1.2的頁面中

55、</p><p>  點擊新建賬戶,即開戶操作,跳轉到如圖6.1.3的頁面中,輸入信息后,“保存”則開戶成功。</p><p>  點擊存款,跳轉到如圖6.1.4的頁面中,可以輸入存款金額進行存款。</p><p>  點擊取款,跳轉到如圖6.1.5的頁面中,可以輸入取款金額進行取款。</p><p>  點擊轉賬,跳轉到如圖6.1.6的頁面

56、中,可以輸入轉賬卡號和轉賬金額進行轉賬。</p><p>  點擊修改信息,跳轉到如圖6.1.7的頁面中,可以修改用戶信息。用戶也可以注銷自己。</p><p>  點擊用戶信息查詢,跳轉到如圖6.1.8的頁面中,可以查看賬戶信息。</p><p>  6.2 ATM服務模塊截圖</p><p>  用戶登錄成功,跳轉到如圖6.2.1的頁面中

57、,顯示ATM服務的賬戶信息。</p><p>  點擊顯示余額,跳轉到如圖6.2.2的頁面中,可以顯示賬戶的余額。</p><p>  點擊修改密碼,跳轉到如圖6.2.3的頁面中,可以輸入原密碼和新密碼。</p><p><b>  6.3 重點代碼</b></p><p>  @Controller</p>

58、<p>  @RequestMapping("/admin/account")</p><p>  public class AccountController extends BaseController{</p><p>  @Autowired</p><p>  private AccountService accountS

59、ervice;</p><p>  @RequestMapping("/list.do")</p><p>  public String list(HttpServletRequest request) {</p><p>  String searchTruename = request.getParameter("searchTr

60、uename");</p><p>  String type = request.getParameter("type");</p><p>  request.setAttribute("List", accountService.findAll(searchTruename ,this.getLoginUser().getUserna

61、me()));</p><p>  request.setAttribute("searchTruename", searchTruename);</p><p>  String a = "admin/biz/account/list";</p><p>  if(type.equals("1")){&l

62、t;/p><p>  a = "admin/biz/account/list1";</p><p><b>  }</b></p><p>  if(type.equals("2")){</p><p>  a = "admin/biz/account/list";

63、</p><p><b>  }</b></p><p>  if(type.equals("3")){</p><p>  a = "admin/biz/account/list2";</p><p><b>  }</b></p><p

64、><b>  return a;</b></p><p><b>  }</b></p><p>  @RequestMapping("/show.do")</p><p>  public String show(HttpServletRequest request) {</p>

65、<p>  String id = request.getParameter("id");</p><p>  if(StringUtils.isNotEmpty(id))</p><p>  request.setAttribute("entity", accountService.findByID(Integer.valueOf(id)

66、));</p><p>  return "admin/biz/account/show";</p><p><b>  }</b></p><p>  @RequestMapping("/setstate.do")</p><p>  public String setState

67、(@RequestParam("id")int id,@RequestParam("state")String state,HttpServletRequest request) {</p><p>  accountService.setState(id,state);</p><p>  return "redirect:/admin/

68、account/list.do";</p><p><b>  }</b></p><p>  @RequestMapping("/edit.do")</p><p>  public String edit(HttpServletRequest request) {</p><p>  S

69、tring id = request.getParameter("id");</p><p>  if(StringUtils.isNotEmpty(id))</p><p>  request.setAttribute("entity", accountService.findByID(Integer.valueOf(id)));</p>

70、;<p>  return "admin/biz/account/edit";</p><p><b>  }</b></p><p>  @RequestMapping("/toZhuanzhang.do")</p><p>  public String toZhuanzhang(Htt

71、pServletRequest request) {</p><p>  String id = request.getParameter("id");</p><p>  if(StringUtils.isNotEmpty(id)){</p><p>  request.setAttribute("entity", acco

72、untService.findByID(Integer.valueOf(id)));</p><p>  request.setAttribute("accountEntity", accountService.findOthers(id));</p><p><b>  }</b></p><p>  request.se

73、tAttribute("type", request.getParameter("type"));</p><p>  return "admin/biz/account/zhuanzhang";</p><p><b>  }</b></p><p>  @RequestMappin

74、g("/changeMoney.do")</p><p>  public String changeMoney(HttpServletRequest request) {</p><p>  String id = request.getParameter("id");</p><p>  if(StringUtils.is

75、NotEmpty(id))</p><p>  request.setAttribute("entity", accountService.findByID(Integer.valueOf(id)));</p><p>  request.setAttribute("moneyState", request.getParameter("mo

76、neyState"));</p><p>  request.setAttribute("type", request.getParameter("type"));</p><p>  return "admin/biz/account/changeMoney";</p><p><b>

77、;  }</b></p><p><b>  /**</b></p><p><b>  * 存取款</b></p><p>  * @param request</p><p><b>  * @return</b></p><p><

78、;b>  */</b></p><p>  @RequestMapping("/updateMoney.do")</p><p>  public String updateMoney(HttpServletRequest request) {</p><p>  String id = request.getParamete

79、r("id");</p><p>  String moneyState = request.getParameter("moneyState");</p><p>  String changeMoney = request.getParameter("changeMoney");</p><p> 

80、 String type = request.getParameter("type");</p><p><b>  //1代表存款</b></p><p><b>  //2代表取款</b></p><p>  if("1".equals(StringUtils.trim(mon

81、eyState))){</p><p>  TAccount account = accountService.findByID(Integer.valueOf(id));</p><p>  account.setMoney((Double.valueOf(account.getMoney()) + Double.valueOf(changeMoney)) * 1.03 +"&

82、quot;);</p><p>  accountService.saveOrUpdate(account);</p><p><b>  }</b></p><p>  if("2".equals(StringUtils.trim(moneyState))){</p><p>  TAccount

83、account = accountService.findByID(Integer.valueOf(id));</p><p>  account.setMoney((Double.valueOf(account.getMoney()) - Double.valueOf(changeMoney)) * 1.03 +"");</p><p>  accountServic

84、e.saveOrUpdate(account);</p><p><b>  }</b></p><p>  return "redirect:/admin/account/list.do?type="+type;</p><p><b>  }</b></p><p><

85、b>  /**</b></p><p><b>  * 轉賬</b></p><p>  * @param request</p><p><b>  * @return</b></p><p><b>  */</b></p><p>

86、;  @RequestMapping("/zhuanzhang.do")</p><p>  public String zhuanzhang(HttpServletRequest request) {</p><p>  String id = request.getParameter("id");</p><p>  St

87、ring toId = request.getParameter("toId");</p><p>  String changeMoney = request.getParameter("changeMoney");</p><p>  String type = request.getParameter("type");&l

88、t;/p><p>  TAccount account = accountService.findByID(Integer.valueOf(id));</p><p>  account.setMoney((Double.valueOf(account.getMoney()) - Double.valueOf(changeMoney)) * 1.03 +"");</p

89、><p>  TAccount toAccount = accountService.findByID(Integer.valueOf(toId));</p><p>  toAccount.setMoney((Double.valueOf(toAccount.getMoney()) + Double.valueOf(changeMoney)) * 1.03 +"");&l

90、t;/p><p>  accountService.saveOrUpdate(account);</p><p>  accountService.saveOrUpdate(toAccount);</p><p>  //return "redirect:/admin/account/listForUserid.do?userId" + this

91、.getLoginUser().getUserid();</p><p>  return "redirect:/admin/account/list.do?type="+type;</p><p><b>  }</b></p><p>  @RequestMapping("/save.do")<

92、/p><p>  public String save(HttpServletRequest request) throws IllegalAccessException, InvocationTargetException {</p><p>  TAccount account = new TAccount();</p><p>  String id = requ

93、est.getParameter("id");</p><p>  if(StringUtils.isNotEmpty(id))</p><p>  account = accountService.findByID(Integer.valueOf(id));</p><p>  BeanUtils.populate(account, reque

94、st.getParameterMap());</p><p>  account.setMoney(Double.valueOf(account.getMoney())* 1.03 + "");</p><p>  String password = request.getParameter("password");</p><p

95、>  if(StringUtils.isNotEmpty(password))</p><p>  account.setPassword(SHAUtil.sha(account.getPassword()));</p><p>  if(account.getId() == 0){</p><p>  account.setTruename(this.get

96、LoginUser().getRealname());</p><p>  account.setUsername(this.getLoginUser().getUsername());</p><p>  account.setCreUid(Integer.valueOf(this.getLoginUser().getUserid()));</p><p>  a

97、ccount.setCreTime(CalendarUtils.getNowTimeTimestamp());</p><p><b>  }else{</b></p><p>  account.setEdiTime(CalendarUtils.getNowTimeTimestamp());</p><p>  account.setEdiU

98、id(Integer.valueOf(this.getLoginUser().getUserid()));</p><p><b>  }</b></p><p>  accountService.saveOrUpdate(account);</p><p>  return "redirect:/admin/account/list

99、.do";</p><p><b>  }</b></p><p>  @RequestMapping("/goChangepwd.do")</p><p>  public String goChangepwd(HttpServletRequest request) {</p><p> 

100、 request.setAttribute("id", request.getParameter("id"));</p><p>  return "admin/biz/account/changepwd";</p><p><b>  }</b></p><p>  @Request

101、Mapping("/changepwd.do")</p><p>  public String changepwd(HttpServletRequest request) throws IllegalAccessException, InvocationTargetException {</p><p>  String id = request.getParamet

102、er("id");</p><p>  TAccount account = accountService.findByID(Integer.valueOf(id));</p><p>  String oldpwd = request.getParameter("oldpwd");</p><p>  String newp

103、wd1 = request.getParameter("newpwd1");</p><p>  String newpwd2 = request.getParameter("newpwd2");</p><p>  String rs = null;</p><p>  if(StringUtils.isNotEmpty(o

104、ldpwd) && SHAUtil.sha(oldpwd).equals(account.getPassword())){</p><p>  if(newpwd1.equals(newpwd2)){</p><p>  account.setPassword(SHAUtil.sha(newpwd1));</p><p>  accountServi

105、ce.saveOrUpdate(account);</p><p>  rs = "密碼修改成功!";</p><p><b>  }else{</b></p><p>  rs = "新密碼兩次輸入不一致!";</p><p><b>  }</b><

106、/p><p><b>  }else{</b></p><p>  rs = "原密碼輸入錯誤!";</p><p><b>  }</b></p><p>  request.setAttribute("rs", rs);</p><p>

107、;  return "admin/biz/account/changepwd";</p><p>  //return "redirect:/admin/account/listForUserid.do?userId" + this.getLoginUser().getUserid();</p><p><b>  }</b>

108、;</p><p>  @RequestMapping("/export.do")</p><p>  public String export(HttpServletRequest request, HttpServletResponse response) throws UnsupportedEncodingException{</p><p&g

109、t;  /*下載xls名字在這命名*/</p><p>  String fileName = "賬號信息";</p><p>  request.setAttribute("List", accountService.findAll());</p><p>  response.setContentType("te

110、xt/html;charset=utf-8");</p><p><b>  try {</b></p><p>  request.setCharacterEncoding("UTF-8");</p><p>  } catch (UnsupportedEncodingException e) {</p&g

111、t;<p>  e.printStackTrace();</p><p><b>  }</b></p><p>  String excelName = new String(fileName.getBytes(), "ISO8859-1")+ ".xls";</p><p>  resp

112、onse.setHeader("Content-disposition", "attachment;filename="+ excelName);</p><p>  /*跳轉你自己下載模版路徑*/</p><p>  return "admin/biz/account/export";</p><p>&

113、lt;b>  }</b></p><p><b>  }</b></p><p><b>  第七章 總結</b></p><p>  經(jīng)過這次開發(fā),我對SpringMVC框架有了更加系統(tǒng)的把握。本系統(tǒng)在開發(fā)過程中,我自始至終都著眼于實際應用需求,致力于完善業(yè)務邏輯,而把繁瑣的實現(xiàn)細節(jié)交給了SpringM

114、VC架構完成,較使用普通的jsp開發(fā)效率明顯提高。整個開發(fā)過程充分發(fā)揮了SpringMVC作為成熟的應用框架的優(yōu)勢。</p><p>  從設計角度看本系統(tǒng)合理使用了分層模型,使得代碼結構清晰,易于調(diào)用和維護。但需要注意的是并不分層越多越好,關鍵看解決問題的復雜度的考量。由于分層越多,雖然邏輯上會更清晰,更利于開發(fā)和維護,但也會帶來創(chuàng)建實例的次數(shù)增多的問題,隨之而來的是代碼效率的降低。因此必須需要權衡好分層數(shù)目和

溫馨提示

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

評論

0/150

提交評論