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

下載本文檔

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

文檔簡介

1、<p>  本科畢業(yè)設(shè)計(論文)</p><p><b> ?。ǘ?屆)</b></p><p>  基于SSH的銀行客戶關(guān)系管理系統(tǒng)的設(shè)計與實現(xiàn)</p><p>  所在學(xué)院 </p><p>  專業(yè)班級 計算機(jī)科學(xué)與技術(shù) &

2、lt;/p><p>  學(xué)生姓名 學(xué)號 </p><p>  指導(dǎo)教師 職稱 </p><p>  完成日期 年 月 </p><p>  摘要:近幾年國內(nèi)金融業(yè)服務(wù)發(fā)展非常迅猛,業(yè)務(wù)拓展很快,現(xiàn)有的管理系統(tǒng)已經(jīng)難以滿

3、足客戶的需求,銀行無法很好的管理自己的客戶,針對這一現(xiàn)狀開發(fā)了一個銀行客戶關(guān)系管理系統(tǒng)。本系統(tǒng)基于MVC模型,采用SSH框架,設(shè)計并實現(xiàn)了銀行客戶關(guān)系管理系統(tǒng)。本系統(tǒng)實現(xiàn)了如下功能:管理員用戶注冊、登錄、修改、刪除、查詢,客戶金額管理,系統(tǒng)權(quán)限管理,管理員用戶登錄記錄查看。系統(tǒng)完成后,經(jīng)過嚴(yán)格的測試,系統(tǒng)能正常運(yùn)行。</p><p>  關(guān)鍵詞:客戶關(guān)系管理系統(tǒng);SSH框架;MVC模型</p>&l

4、t;p>  SSH-based Design and Implementation of Customer Relationship Management System</p><p>  Abstract:Domestic banking services develop very rapidly in recent years, the business of bank develop so quick

5、ly, existing management systems have been difficult to meet the needs of customers, banks cannot be good management of its customers, in response to this situation to develop a bank customer relationship management syste

6、m. This system based on MVC model, using SSH framework, design and realization of the Bank's customer relationship management system. This system contain the following fu</p><p>  Keywords: Cus

7、tomer relationship management system; SSH framework; MVC model;</p><p><b>  目 錄</b></p><p><b>  1 緒論1</b></p><p>  1.1 課題的研究背景1</p><p>  1

8、.1.1 管理系統(tǒng)簡介1</p><p>  1.1.2 銀行客戶關(guān)系管理系統(tǒng)的興起1</p><p>  1.2 課題研究的目的與意義2</p><p>  1.3 課題的研究內(nèi)容3</p><p>  1.4 課題的研究方法3</p><p>  1.5 論文的內(nèi)容組織4</p>

9、<p>  2 基礎(chǔ)知識簡介5</p><p>  2.1 HTML簡介5</p><p>  2.1.1 HTML元素5</p><p>  2.1.2 HTML元素屬性5</p><p>  2.1.3 HTML數(shù)據(jù)類型6</p><p>  2.2 JSP6</p>

10、;<p>  2.3 SSH框架7</p><p>  2.3.1 Struts27</p><p>  2.3.2 Hibernate8</p><p>  2.3.3 Spring9</p><p>  2.4 數(shù)據(jù)庫技術(shù)10</p><p>  2.4.1 數(shù)據(jù)庫設(shè)計的基本步驟

11、10</p><p>  2.4.2 數(shù)據(jù)庫設(shè)計的原則11</p><p>  3 系統(tǒng)分析12</p><p>  3.1 可行性分析12</p><p>  3.1.1 技術(shù)可行性12</p><p>  3.1.2 實用性12</p><p>  3.2 需求分析

12、12</p><p>  4 概要設(shè)計14</p><p>  4.1 系統(tǒng)體系結(jié)構(gòu)設(shè)計14</p><p>  4.2 E-R圖設(shè)計14</p><p>  4.3 數(shù)據(jù)表的邏輯結(jié)構(gòu)設(shè)計17</p><p>  5 系統(tǒng)設(shè)計與實現(xiàn)19</p><p>  5.1 界面設(shè)計

13、19</p><p>  5.2 前臺功能19</p><p>  5.2.1 用戶登陸19</p><p>  5.3 后臺功能21</p><p>  5.3.1 添加,修改用戶21</p><p>  5.3.2 權(quán)限管理25</p><p>  5.3.3 用戶管理

14、29</p><p>  5.3.4用戶登錄記錄31</p><p>  6 系統(tǒng)測試與評價34</p><p>  6.1 系統(tǒng)測試的原則及方法34</p><p>  6.2 測試與評價34</p><p>  6.2.1 單元測試34</p><p>  6.2.2 集

15、成測試36</p><p>  6.2.3 系統(tǒng)測試與評價36</p><p>  7 總結(jié)及展望37</p><p>  致 謝錯誤!未定義書簽。</p><p><b>  參考文獻(xiàn)38</b></p><p><b>  1 緒論</b></p&

16、gt;<p>  1.1 課題的研究背景</p><p>  1.1.1 管理系統(tǒng)簡介</p><p>  在現(xiàn)代化企業(yè)中,客戶關(guān)系管理系統(tǒng)將發(fā)揮越來越重要的作用??蛻絷P(guān)系管理系統(tǒng)工作已經(jīng)滲透到企業(yè)日常工作的許多方面,無論是其自身還是其所發(fā)揮的作用,都為企業(yè)的創(chuàng)新、發(fā)展以及經(jīng)濟(jì)效益,做出了顯著的貢獻(xiàn)??蛻絷P(guān)系管理是企業(yè)管理中不可缺少的部分,它的管理對于企業(yè)的決策者和管理者

17、來說是至關(guān)重要的[1]。因此,客戶關(guān)系管理系統(tǒng)應(yīng)該能夠為管理者提供充足準(zhǔn)確的信息和快捷多樣的查詢手段。但傳統(tǒng)的客戶關(guān)系管理是人工去管理,由于商品的種類繁多,價格產(chǎn)地又不相同,從而造成工作效率低,易出錯,而且查詢統(tǒng)計也不方便。</p><p>  隨著改革開放的深入,市場競爭日趨激烈,企業(yè)必須建立現(xiàn)代化信息管理系統(tǒng),利用先進(jìn)的計算機(jī)技術(shù),網(wǎng)絡(luò)技術(shù),建立現(xiàn)代化的網(wǎng)絡(luò)信息處理系統(tǒng),實現(xiàn)信息資源共享,提高信息處理能力和速

18、度,及時準(zhǔn)確的提供企業(yè)所需的各種信息[2]。在全球一體化、企業(yè)互動和INTERNET為核心的時代,企業(yè)面臨著如何發(fā)展?jié)撛诳蛻簦绾螌⑸鐣P(guān)系資源變?yōu)槠髽I(yè)的銷售和發(fā)展資源的一系列難辦棘手的問題。在上述背景下,客戶管理系統(tǒng)應(yīng)運(yùn)而生。本系統(tǒng)本著把握客戶多樣化和個性化的特點;以最快的速度響應(yīng)客戶需求;吸引新客戶,留住老客戶為原則。即從過去的以產(chǎn)品為中心的管理策略轉(zhuǎn)向以客戶為中心的管理理念。系統(tǒng)旨在改善企業(yè)與客戶之間的關(guān)系,建立新型的運(yùn)營機(jī)制。本

19、系統(tǒng)以企業(yè)級的整體客戶管理為解決方案,幫助企業(yè)建立統(tǒng)一的客戶資源、拓展銷售渠道、尋求最佳市場方式、規(guī)范企業(yè)銷售流程、提供科學(xué)分析方法,建立持久的客戶體系[3]。。通過企業(yè)管理技術(shù)、電子商務(wù)和信息技術(shù)的高度集成,幫助企業(yè)在全球經(jīng)濟(jì)一體化的激烈市場競爭環(huán)境中,建立以市場、客戶為中心的管理體系,有效管理企業(yè)與客戶之間的關(guān)系,提高客戶忠誠度,實現(xiàn)客戶價值的最大化。企業(yè)要想生存發(fā)展,就必須與與之息</p><p>  1.

20、1.2 銀行客戶關(guān)系管理系統(tǒng)的興起</p><p>  隨著國內(nèi)金融機(jī)構(gòu)的優(yōu)化及外資金融機(jī)構(gòu)的不斷涌入,金融市場的競爭已從以金融產(chǎn)品為中心向以客戶為中心傾斜,各種各樣的銀行客戶關(guān)系管理系統(tǒng)應(yīng)運(yùn)而生。但是,目前市場上銀行客戶關(guān)系管理系統(tǒng)難以滿足銀行管理要求,銀行擁有一個龐大的客戶群體,如何有效的對其中的大客戶進(jìn)行管理,增加客戶服務(wù)命中率,降低非贏利客戶的服務(wù)成本等,是擺在管理者面前的一個難題。因此,運(yùn)用先進(jìn)成熟的

21、軟件研發(fā)技術(shù),構(gòu)建該銀行客戶關(guān)系管理系統(tǒng)有著很強(qiáng)的現(xiàn)實意義[4]。隨著系統(tǒng)的集中度增加,銀行與客戶之間的距離卻越來越遠(yuǎn),對客戶與市場需求的反應(yīng)越來越慢。現(xiàn)有的數(shù)據(jù)大集中的模式,顯然是“以銀行為中心”的,而不是“以客戶為中心”,它無法做到客戶價值和銀行利益兼顧,在強(qiáng)調(diào)規(guī)范化的時候忘記了服務(wù)的特色化,在強(qiáng)調(diào)集中利于管理決策的同時忽略了經(jīng)營的差異化。數(shù)據(jù)與應(yīng)用都在總行,總行不可能為各分行做個性化服務(wù),分行沒有能力也沒有機(jī)會做個性化服務(wù)。解決不

22、了差異化問題,就不可能為客戶提供差異化服務(wù)。</p><p>  客戶關(guān)系管理理念引入中國已經(jīng)有幾年的時間了,國內(nèi)CRM市場已經(jīng)從單純的概念炒作階段。理念推廣階段逐漸發(fā)展為部分企業(yè)試探性的實施階段,有為數(shù)不少的國內(nèi)企業(yè)先后嘗試實施了大型CRM系統(tǒng)的部分模塊。銀行業(yè)屬于最早的應(yīng)用領(lǐng)域之一,應(yīng)用仍然較少,屬于起步階段。當(dāng)然,客戶關(guān)系管理作為中國商業(yè)銀行打造未來核心競爭力的利器,目前一些銀行已經(jīng)制定了相應(yīng)的CRM應(yīng)用規(guī)

23、劃,如中國工商銀行計劃在“十五”期間啟動客戶關(guān)系管理建設(shè);而從長期來看,國內(nèi)商業(yè)銀行目前著力進(jìn)行投資建設(shè)的電話銀行和網(wǎng)上銀行。紛紛推出的綜合業(yè)務(wù)系統(tǒng)或整合版業(yè)務(wù)處理系統(tǒng),以及注入巨資建設(shè)的銀行內(nèi)部網(wǎng)絡(luò)、數(shù)據(jù)倉庫等,也將構(gòu)成商業(yè)銀行CRM系統(tǒng)的有機(jī)組成部分。但這些進(jìn)步離完整地實現(xiàn)CRM還有很長的路要走。總體來說,銀行主要是通過 CRM 來加強(qiáng)和完善客戶關(guān)系的,為客戶提供優(yōu)質(zhì)的服務(wù),并提高客戶服務(wù)效率滿足客戶的需求,贏得更多的客戶,整體上降

24、低銀行的運(yùn)營成本。</p><p>  1.2 課題研究的目的與意義</p><p>  銀行客戶關(guān)系管理系統(tǒng)這個項目的意義就在于利用先進(jìn)的數(shù)據(jù)庫管理技術(shù)和J2EE技術(shù)做一個客戶關(guān)系管理(CRM)對銀行的客戶進(jìn)行合理高效的管理。客戶關(guān)系管理主要是為銀行保持已有的客戶,吸引新的客戶而設(shè)立的銀行與客戶的聯(lián)系渠道并進(jìn)行渠道的管理,同時分析客戶需求為銀行決策提供支持。銀行主要通過客戶關(guān)系管理來加

25、強(qiáng)和完善客戶關(guān)系,為客戶提供優(yōu)質(zhì)服務(wù),并且提高客戶服務(wù)效率,使銀行能在快速變化的市場競爭中,把握客戶的需求,贏得更多的客戶,整體上降低銀行的運(yùn)營成本。銀行實施客戶關(guān)系管理,首先要注重組織再造與業(yè)務(wù)流程重構(gòu)。通過改革和組織再造,整合內(nèi)部資源,建立適應(yīng)客戶戰(zhàn)略的、職能完整、交流通暢、運(yùn)行高效的組織機(jī)構(gòu);同時要以客戶需求挖掘和滿足為中心,實行業(yè)務(wù)流程的重構(gòu),加強(qiáng)基于客戶互動關(guān)系的營銷和產(chǎn)品銷售(服務(wù))工作,統(tǒng)一客戶聯(lián)系渠道,針對客戶的需求及時

26、推出創(chuàng)新的金融產(chǎn)品和服務(wù)。</p><p>  設(shè)計銀行客戶關(guān)系管理系統(tǒng)的目的主要在于對銀行的客戶進(jìn)行合理高效的管理,為銀行保持已有的客戶并吸引新的客戶,同時通過分析客戶需求為銀行決策提供支持。通過使用這個系統(tǒng),銀行能為客戶提供更優(yōu)質(zhì)的服務(wù),提高客戶服務(wù)效率,贏得更多的客戶,整體上降低銀行的運(yùn)營成本。本系統(tǒng)以客戶需求挖掘和滿足為中心,加強(qiáng)基于客戶互動關(guān)系的營銷和產(chǎn)品銷售工作,統(tǒng)一客戶聯(lián)系渠道。</p>

27、<p>  1.3 課題的研究內(nèi)容</p><p>  本課題的主要內(nèi)容是設(shè)計一個銀行客戶關(guān)系管理系統(tǒng)。該系統(tǒng)除了包含一般電子商務(wù)平臺的基本功能,還要實現(xiàn)對于客戶的管理。</p><p>  銀行客戶關(guān)系管理系統(tǒng)主要分為兩個模塊,即前臺登陸和后臺管理,更具體的功能可以分為六個部分,由基礎(chǔ)信息維護(hù)、客戶信息維護(hù)、客戶服務(wù)、信息查詢、客戶管理、系統(tǒng)管理六部分組成,本系統(tǒng)是一個典

28、型的數(shù)據(jù)庫開發(fā)應(yīng)用程序[5]。</p><p>  前臺提供用戶登陸部分,從前臺登錄進(jìn)入后臺進(jìn)行管理;后臺由用戶金額管理、用戶權(quán)限管理、權(quán)限管理、添加用戶、用戶登陸記錄、我的賬戶模塊組成。用戶均從網(wǎng)站首頁登錄,進(jìn)入到后臺管理模塊。具有授權(quán)的用戶才可以登錄本系統(tǒng),并可以對用戶金額可以進(jìn)行及時更新,可以添加本系統(tǒng)操作用戶,并授予相關(guān)的權(quán)限[6]。管理員可以對角色進(jìn)行編輯,授予相關(guān)的權(quán)限。本系統(tǒng)可以實時查看有哪些用戶登

29、錄了系統(tǒng),并記錄下登錄的時間和注銷時間。</p><p>  1.4 課題的研究方法</p><p><b>  (1) 文獻(xiàn)研究法</b></p><p>  文獻(xiàn)研究法主要指收集、鑒別、整理文獻(xiàn),并通過對文獻(xiàn)的研究,形成對事實科學(xué)認(rèn)識的方法。該方法主要用于系統(tǒng)開發(fā)的前期。首先,通過閱讀大量管理系統(tǒng)的文獻(xiàn),結(jié)合現(xiàn)實,總結(jié)銀行管理系統(tǒng)平臺的基

30、本功能及不足。以此確定畢業(yè)設(shè)計的選題。然后,根據(jù)相關(guān)文獻(xiàn),對系統(tǒng)進(jìn)行需求分析和可行性分析,從而確定自己的研究方向和實現(xiàn)方法。</p><p>  (2) 數(shù)據(jù)庫設(shè)計方法</p><p>  通過該方法,設(shè)計出結(jié)構(gòu)完整并適合管理的數(shù)據(jù)庫。</p><p>  (3) 面向?qū)ο蠓椒?lt;/p><p>  面向?qū)ο蠓椒ǎ∣bject-Oriented

31、 Method)是一種把面向?qū)ο蟮乃枷霊?yīng)用于軟件開發(fā)過程中,指導(dǎo)開發(fā)活動的系統(tǒng)方法,簡稱OO(Object-Oriented)方法,是建立在“對象”概念基礎(chǔ)上的方法學(xué)。通過該方法,運(yùn)用面向?qū)ο缶幊坦ぞ撸瑏硗瓿摄y行客戶關(guān)系管理系統(tǒng)的開發(fā)。</p><p>  1.5 論文的內(nèi)容組織</p><p>  論文共由七章組成。第1章緒論,主要介紹系統(tǒng)的研究背景、研究目的和意義、研究內(nèi)容以及研究方

32、法;第2章基礎(chǔ)知識簡介,主要介紹系統(tǒng)開發(fā)過程中會用到的相關(guān)技術(shù),主要有系統(tǒng)的開發(fā)平臺Java,以及數(shù)據(jù)庫技術(shù);第3章系統(tǒng)分析,主要是對系統(tǒng)總體功能的一個闡述,說明系統(tǒng)要實現(xiàn)的各個基本功能模塊,并對系統(tǒng)的可行性進(jìn)行分析;第4章概要設(shè)計,主要介紹系統(tǒng)的總體框架及相關(guān)數(shù)據(jù)結(jié)構(gòu);第5章系統(tǒng)設(shè)計與實現(xiàn),主要介紹系統(tǒng)的硬件軟件環(huán)境、界面設(shè)計、功能實現(xiàn)、主要技術(shù)難點;第6章系統(tǒng)測試與評價,主要涉及系統(tǒng)的測試方法、數(shù)據(jù),結(jié)論以及對系統(tǒng)的性能進(jìn)行評價;第

33、7章總結(jié)與展望,主要闡述了本課題所完成的研究工作和存在的不足,以及希望在今后可以完善的地方。</p><p><b>  2 基礎(chǔ)知識簡介</b></p><p>  2.1 HTML簡介</p><p>  HTML(Hypertext Marked Language)即超文本標(biāo)簽語言。是web頁面的描述性語言,是在標(biāo)準(zhǔn)通用化標(biāo)記語言SG

34、ML(standard generalized markup Language)的基礎(chǔ)上建立起來的,其語法規(guī)則建立的文本可以運(yùn)行在不同的操作系統(tǒng)平臺和瀏覽器上,是所有網(wǎng)頁制作技術(shù)的核心與基礎(chǔ)。它被用來結(jié)構(gòu)化信息——如標(biāo)題、段落和列表等,也用在一定程度上描述文檔的外觀和語義。HTML文件是包含一些標(biāo)簽的文本文件,這些標(biāo)簽告訴Web瀏覽器如何顯示頁面。HTML文件必須使用htm或者h(yuǎn)tml作為文件擴(kuò)展名,該文件可以通過簡單的文本編輯器來創(chuàng)建

35、。</p><p>  一個標(biāo)準(zhǔn)的HTML文件由HTML元素,元素的屬性和相關(guān)屬性值3個基本部分組成。</p><p>  2.1.1 HTML元素</p><p>  HTML元素(element)通常由首尾兩個標(biāo)記(tag)組成,一個標(biāo)記由一組尖括號“<>”包含。如下劃線元素:<u> HTML </u>。</p>

36、<p>  HTML元素有三種形式:</p><p> ?。?)首尾標(biāo)記必須成對出現(xiàn)的元素,如:<h1>,<button>等元素。</p><p>  (2)起始標(biāo)記必須出現(xiàn),而結(jié)尾標(biāo)記是可選的,如<p>,<option>等元素。</p><p>  (3)只有起始標(biāo)記,而禁止結(jié)尾標(biāo)記的元素,如<i

37、nput>,<img>等元素。</p><p>  2.1.2 HTML元素屬性</p><p>  每一個元素都有一個或幾個屬性定義該元素的顯示樣式、行為或其它內(nèi)容,同一個元素各個屬性之間的順序沒有前后之分,屬性的類型主要有等式型和布爾型兩種。</p><p>  (1)屬性的設(shè)定方法</p><p>  屬性全部都設(shè)置

38、在HTML元素起始標(biāo)記的尖括號內(nèi),一般是以“<起始標(biāo)記 屬性1=“屬性值1”屬性2=“屬性值2”……>”的格式出現(xiàn)。屬性間沒有先后順序,屬性也沒有大小寫之分。每對屬性/屬性值之間用空格分隔。</p><p> ?。?)引號的使用規(guī)范</p><p>  按照HTML規(guī)范和標(biāo)準(zhǔn),等號后的屬性值應(yīng)該全部包含在英文半角雙引號中。但如果引號需要進(jìn)行嵌套,則外層用單引號,里層用雙引號。如

39、:</p><p>  <input type=“button”value“點擊查看效果”onclick=‘javascript:alert(“Hello World!”);’></p><p>  2.1.3 HTML數(shù)據(jù)類型</p><p>  HTML常用的數(shù)據(jù)類型有長度,顏色,URI鏈接地址和字符串等形式。</p><p&g

40、t;  長度值的定義方法有許多種,既有絕對數(shù)值定義,又有相對數(shù)值定義。</p><p>  像素是計算機(jī)屏幕上所能顯示的最小單位。像素值也是長度定義中使用最為普遍的單位,因為一般瀏覽器輸出頁面總是在屏幕上,如果設(shè)計者不考慮打印輸出的話,利用像素值就能夠在屏幕上進(jìn)行精確的定位。</p><p><b>  2.2 JSP</b></p><p>

41、;  JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計和顯示分離,支持可重用的基于組件的設(shè)計,使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。</p><p>  Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的

42、HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。</p><p>  JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁面被客戶端請求以后對這些Java代碼進(jìn)行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Java Servlet 是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要Java Servlet和JSP配

43、合才能完成。JSP具備了Java技術(shù)的簡單易用,完全的面向?qū)ο?,具有平臺無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點。</p><p><b>  JSP技術(shù)的強(qiáng)勢:</b></p><p>  (1)一次編寫,到處運(yùn)行。除了系統(tǒng)之外,代碼不用做任何更改。</p><p>  (2)系統(tǒng)的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任意

44、環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/.net的局限性是顯而易見的。</p><p>  (3)強(qiáng)大的可伸縮性。從只有一個小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺Application進(jìn)行事務(wù)處理,消息處理,一臺服務(wù)器到無數(shù)臺服務(wù)器,Java顯示了一個巨大的生命力。</p><p>  (4)多樣化和功能強(qiáng)大的開發(fā)工具支持。這一點

45、與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺之下。</p><p>  (5)支持服務(wù)器端組件。web應(yīng)用需要強(qiáng)大的服務(wù)器端組件來支持,開發(fā)人員需要利用其他工具設(shè)計實現(xiàn)復(fù)雜功能的組件供web頁面調(diào)用,以增強(qiáng)系統(tǒng)性能。JSP可以使用成熟的JAVA BEANS 組件來實現(xiàn)復(fù)雜商務(wù)功能。</p><p>  2.3 SSH

46、框架</p><p>  2.3.1 Struts2</p><p>  Struts 2是Struts的下一代產(chǎn)品。是在 Struts 和WebWork的技術(shù)基礎(chǔ)上進(jìn)行了合并,全新的Struts 2框架。其全新的Struts 2的體系結(jié)構(gòu)與Struts 1的體系結(jié)構(gòu)的差別巨大。Struts 2以WebWork為核心,采用攔截器的機(jī)制來處理用戶的請求,這樣的設(shè)計也使得業(yè)務(wù)邏輯控制器能夠與

47、Servlet API完全脫離開,所以Struts 2可以理解為WebWork的更新產(chǎn)品。因為Struts 2和Struts 1有著太大的變化,但是相對于WebWork,Struts 2只有很小的變化[7]。Struts2為傳統(tǒng)的Struts1注入了WebWork的先進(jìn)的設(shè)計理念,統(tǒng)一了Struts1和WebWork兩個框架[8]。</p><p>  Struts2的體系與Struts1體系的差別非常大,因為S

48、truts2使用了WebWork的設(shè)計核心,而不是Struts1的設(shè)計核心。Struts2中大量使用攔截器來處理用戶的請求,從而允許用戶的業(yè)務(wù)邏輯控制器與Servlet API分離。Struts2的體系結(jié)構(gòu)如圖2-1所示[9]。 </p><p>  圖 2-1 Struts2體系結(jié)果</p><p>  Struts2框架的大概處理流程如下: </p><p> 

49、 1、加載類(FilterDispatcher) </p><p>  2、讀取配置(struts配置文件中的Action) </p><p>  3、派發(fā)請求(客戶端發(fā)送請求) </p><p>  4、調(diào)用Action(FilterDispatcher從struts配置文件中讀取與之相對應(yīng)的Action ) </p><p>  5、啟用

50、攔截器(WebWork攔截器鏈自動對請求應(yīng)用通用功能,如驗證) </p><p>  6、處理業(yè)務(wù)(回調(diào)Action的execute()方法) </p><p>  7、返回響應(yīng)(通過execute方法將信息返回到FilterDispatcher) </p><p>  8、查找響應(yīng)(FilterDispatcher根據(jù)配置查找響應(yīng)的是什么信息如:SUCCESS、E

51、RROER,將跳轉(zhuǎn)到哪個jsp頁面) </p><p>  9、響應(yīng)用戶(jsp--->客戶瀏覽器端顯示)</p><p>  2.3.2 Hibernate</p><p>  Hibernate是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進(jìn)行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以

52、應(yīng)用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。</p><p>  Hibernate的核心接口一共有5個,分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個核心接口在任何

53、開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。Hibernate體系結(jié)果如圖2-2所示。</p><p>  SessionFactory接口負(fù)責(zé)初始化Hibernate。它充當(dāng)數(shù)據(jù)存儲源的代理,并負(fù)責(zé)創(chuàng)建Session對象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級的,因為一般情況下,一個項目通常只需要一個SessionFactory就夠,當(dāng)需要操

54、作多個數(shù)據(jù)庫時,可以為每個數(shù)據(jù)庫指定一個SessionFactory[10]。 </p><p>  圖2-2 Hibernate示意圖</p><p>  Hibernate 中提供了兩級Cache,第一級別的緩存是Session級別的緩存,它是屬于事務(wù)范圍的緩存。這一級別的緩存由hibernate管理的,一般情況下無需進(jìn)行干預(yù);第二級別的緩存是SessionFactory級別的緩存,它

55、是屬于進(jìn)程范圍或群集范圍的緩存。這一級別的緩存可以進(jìn)行配置和更改,并且可以動態(tài)加載和卸載。 Hibernate還為查詢結(jié)果提供了一個查詢緩存,它依賴于第二級緩存。</p><p>  2.3.3 Spring</p><p>  Spring系統(tǒng)結(jié)構(gòu)如圖2-3所示。</p><p>  Spring是一個開源框架,它由Rod Johnson創(chuàng)建。它是為了解決企業(yè)應(yīng)

56、用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。 </p><p>  (1)目的:解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性 </p><p>  (2)功能:使用基本的JavaBean代替EJB,并提供了更多的企業(yè)應(yīng)用功能 &

57、lt;/p><p>  (3)范圍:任何Java應(yīng)用 </p><p>  簡單來說,Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。 </p><p>  (4)輕量——從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開銷也是微不足道的。此外,Spr

58、ing是非侵入式的:典型地,Spring應(yīng)用中的對象不依賴于Spring的特定類。 </p><p>  (5)控制反轉(zhuǎn)——Spring通過一種稱作控制反轉(zhuǎn)(IoC)的技術(shù)促進(jìn)了松耦合。當(dāng)應(yīng)用了IoC,一個對象依賴的其它對象會通過被動的方式傳遞進(jìn)來,而不是這個對象自己創(chuàng)建或者查找依賴對象。你可以認(rèn)為IoC與JNDI相反——不是對象從容器中查找依賴,而是容器在對象初始化時不等對象請求就主動將依賴傳遞給它。 <

59、/p><p>  (6)面向切面——Spring提供了面向切面編程的豐富支持,允許通過分離應(yīng)用的業(yè)務(wù)邏輯與系統(tǒng)級服務(wù)(例如審計(auditing)和事務(wù)(transaction)管理)進(jìn)行內(nèi)聚性的開發(fā)。應(yīng)用對象只實現(xiàn)它們應(yīng)該做的——完成業(yè)務(wù)邏輯——僅此而已。它們并不負(fù)責(zé)(甚至是意識)其它的系統(tǒng)級關(guān)注點,例如日志或事務(wù)支持。 </p><p>  (7)容器——Spring包含并管理應(yīng)用對象的配

60、置和生命周期,在這個意義上它是一種容器,你可以配置你的每個bean如何被創(chuàng)建——基于一個可配置原型(prototype),你的bean可以創(chuàng)建一個單獨(dú)的實例或者每次需要時都生成一個新的實例——以及它們是如何相互關(guān)聯(lián)的。然而,Spring不應(yīng)該被混同于傳統(tǒng)的重量級的EJB容器,它們經(jīng)常是龐大與笨重的,難以使用。 </p><p>  (8)框架——Spring可以將簡單的組件配置、組合成為復(fù)雜的應(yīng)用。在Spring

61、中,應(yīng)用對象被聲明式地組合,典型地是在一個XML文件里。Spring也提供了很多基礎(chǔ)功能(事務(wù)管理、持久化框架集成等等),將應(yīng)用邏輯的開發(fā)留給了你。 </p><p>  所有Spring的這些特征使你能夠編寫更干凈、更可管理、并且更易于測試的代碼。它們也為Spring中的各種模塊提供了基礎(chǔ)支持[11]。</p><p>  圖2-3 Spring體系結(jié)構(gòu)</p><

62、p>  組成Spring框架的每個模塊(或組件)都可以單獨(dú)存在,或者與其他一個或多個模塊聯(lián)合實現(xiàn)。核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要組件是 BeanFactory,它是工廠模式的實現(xiàn)。BeanFactory 使用控制反轉(zhuǎn)(IOC)模式將應(yīng)用程序的配置和依賴性規(guī)范與實際的應(yīng)用程序代碼分開。 </p><p>  2.4 數(shù)據(jù)庫技術(shù)</p><p>

63、  所謂數(shù)據(jù)庫(Database),是指按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫。它產(chǎn)生于距今五十年前,隨著信息技術(shù)和市場的發(fā)展,特別是二十世紀(jì)九十年代以后,數(shù)據(jù)管理不再僅僅是存儲和管理數(shù)據(jù),而轉(zhuǎn)變成用戶所需要的各種數(shù)據(jù)管理的方式。數(shù)據(jù)庫有很多種類型,從最簡單的存儲各種數(shù)據(jù)的表格到能夠進(jìn)行海量數(shù)據(jù)存儲的大型數(shù)據(jù)庫系統(tǒng)都在各個方面得到了廣泛的應(yīng)用。</p><p>  在開發(fā)一個系統(tǒng)之前,首先要完成的就是數(shù)據(jù)庫的設(shè)

64、計。數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲數(shù)據(jù)[14]。如何在給定的應(yīng)用環(huán)境下,構(gòu)造最優(yōu)的數(shù)據(jù)庫模型至關(guān)重要,它將影響整個系統(tǒng)的運(yùn)作。下面對數(shù)據(jù)庫的設(shè)計做下簡單的介紹。</p><p>  2.4.1 數(shù)據(jù)庫設(shè)計的基本步驟</p><p><b> ?。?)需求分析階段</b></p>&

65、lt;p>  該階段的任務(wù)是準(zhǔn)確了解和分析用戶的需求,包括數(shù)據(jù)與處理。是整個設(shè)計過程的基礎(chǔ),也是最困難、最耗費(fèi)時間的一步。</p><p> ?。?)概念結(jié)構(gòu)設(shè)計階段</p><p>  該階段主要是通過對用戶需求進(jìn)行綜合、歸納與抽象,形成一個獨(dú)立于具體DBMS的概念模型,即設(shè)計數(shù)據(jù)庫的E-R模型圖,是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵。</p><p> ?。?)邏輯結(jié)構(gòu)

66、設(shè)計階段</p><p>  該階段是將概念結(jié)構(gòu)轉(zhuǎn)換為某個DBMS所支持的數(shù)據(jù)模型。如將E-R如轉(zhuǎn)換為多張表。</p><p> ?。?)數(shù)據(jù)庫物理設(shè)計階段</p><p>  該階段是要為邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu),包括存儲結(jié)構(gòu)和存取方法。</p><p> ?。?)數(shù)據(jù)庫實施階段</p><p>

67、  這個階段是運(yùn)用DBMS提供的數(shù)據(jù)語言、工具及宿主語言,根據(jù)邏輯設(shè)計和物理設(shè)計的結(jié)果建立數(shù)據(jù)庫,編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫,并進(jìn)行試運(yùn)行。</p><p> ?。?)數(shù)據(jù)庫運(yùn)行和維護(hù)階段</p><p>  數(shù)據(jù)庫應(yīng)用系統(tǒng)經(jīng)過試運(yùn)行后即可投入正式運(yùn)行,但在系統(tǒng)運(yùn)行過程中必須不斷地對其進(jìn)行評價、調(diào)整與修改。</p><p>  在設(shè)計過程中要把數(shù)據(jù)庫的設(shè)計和對

68、數(shù)據(jù)庫中數(shù)據(jù)處理的設(shè)計緊密結(jié)合起來,將這兩個方面的需求分析、抽象、設(shè)計、實現(xiàn)在各個階段同時進(jìn)行,相互參照,相互補(bǔ)充,以完善兩方面的設(shè)計。</p><p>  2.4.2 數(shù)據(jù)庫設(shè)計的原則</p><p>  在數(shù)據(jù)庫設(shè)計過程中,往往會出現(xiàn)一些問題,如數(shù)據(jù)冗余、更新異?;蚴潜砼c表之間的范式問題,要想減少錯誤的產(chǎn)生,避免不必要的麻煩,必須遵循數(shù)據(jù)庫設(shè)計的基本原則。原則如下:</p>

69、;<p>  (1)正確反映數(shù)據(jù)與數(shù)據(jù)(信息與信息)之間的層次邏輯關(guān)系;</p><p> ?。?)對進(jìn)入到數(shù)據(jù)庫中的數(shù)據(jù)有一個有效性檢查;</p><p> ?。?)對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行非邏輯操作進(jìn)行相應(yīng)的錯誤處理;</p><p> ?。?)滿足系統(tǒng)對性能上的要求。</p><p><b>  3 系統(tǒng)分析<

70、;/b></p><p>  3.1 可行性分析</p><p>  3.1.1 技術(shù)可行性</p><p>  本系統(tǒng)在Myeclipse集成開發(fā)環(huán)境下完成,將JSP與Spring,Struts,Hibernate三個框架有機(jī)的結(jié)合起來,使用MVC設(shè)計模式,即模型-視圖-控制器,視圖由JSP承擔(dān),生成視圖的代碼可servlet的一部分,控制器一般由str

71、uts實現(xiàn),模型則由Javabean實現(xiàn)。使用DreamWeaver來設(shè)計頁面,用div+css布局來設(shè)計頁面,使用Javascript來對表單數(shù)據(jù)進(jìn)行驗證,部分彈出菜單用jquery來實現(xiàn),系統(tǒng)中所涉及的數(shù)據(jù)庫在Mysql 5.0的環(huán)境下設(shè)計完成。 </p><p>  本系統(tǒng)的關(guān)鍵在于如何收集、分析并整合各關(guān)聯(lián)系統(tǒng)客戶信息數(shù)據(jù)字典,形成數(shù)據(jù)模型,在此基礎(chǔ)上進(jìn)行應(yīng)用系統(tǒng)開發(fā),以及如何將Spring,Struts

72、,Hibernate三個框架更好的結(jié)合起來,使代碼簡練易懂,并能很好的支持系統(tǒng)對客戶基本信息和賬戶基本信息的使用和更新[13]。</p><p>  另外本系統(tǒng)中數(shù)據(jù)庫的訪問也是很重要的,設(shè)計好的數(shù)據(jù)庫模型能使效率得到提高。由于本系統(tǒng)訪問量可能會很大,系統(tǒng)的性能指標(biāo)也是要考慮的。</p><p>  由于本人在實習(xí)期間已做過ssh有關(guān)的相關(guān)項目,所以本系統(tǒng)在個人掌握的技術(shù)方面是可行的,另外

73、頁面設(shè)計方面也問題不大。</p><p>  3.1.2 實用性</p><p>  銀行實施客戶關(guān)系管理,首先要注重組織再造與業(yè)務(wù)流程重構(gòu)由于本人所學(xué)知識有限,并不能實習(xí)系統(tǒng)的實時性已經(jīng)查詢大規(guī)模的數(shù)據(jù)。通過改革和組織再造,整合內(nèi)部資源,建立適應(yīng)客戶戰(zhàn)略的、職能完整、交流通暢、運(yùn)行高效的組織機(jī)構(gòu);同時要以客戶需求挖掘和滿足為中心,實行業(yè)務(wù)流程的重構(gòu),加強(qiáng)基于客戶互動關(guān)系的營銷和產(chǎn)品銷售

74、(服務(wù))工作,統(tǒng)一客戶聯(lián)系渠道,針對客戶的需求及時推出創(chuàng)新的金融產(chǎn)品和服務(wù)。因此,本系統(tǒng)能滿足一定的實用性。</p><p><b>  3.2 需求分析</b></p><p>  隨著國內(nèi)金融機(jī)構(gòu)的優(yōu)化及外資金融機(jī)構(gòu)的不斷涌入,金融市場的競爭已從以金融產(chǎn)品為中心向以客戶為中心傾斜,各種各樣的銀行客戶關(guān)系管理系統(tǒng)應(yīng)運(yùn)而生。但是,目前市場上銀行客戶關(guān)系管理系統(tǒng)難以滿

75、足銀行管理要求,不利于銀行提高客戶滿意度和銀行的盈利能力。因此,運(yùn)用先進(jìn)成熟的軟件研發(fā)技術(shù),構(gòu)建該銀行客戶關(guān)系管理系統(tǒng)有著很強(qiáng)的現(xiàn)實意義。</p><p>  通過使用這個系統(tǒng),銀行能為客戶提供更優(yōu)質(zhì)的服務(wù),提高客戶服務(wù)效率,贏得更多的客戶,整體上降低銀行的運(yùn)營成本。設(shè)計銀行客戶關(guān)系管理系統(tǒng)的目的主要在于對銀行的客戶進(jìn)行合理高效的管理,為銀行保持已有的客戶并吸引新的客戶,同時通過分析客戶需求為銀行決策提供支持。通

76、過使用這個系統(tǒng),銀行能為客戶提供更優(yōu)質(zhì)的服務(wù),提高客戶服務(wù)效率,贏得更多的客戶,整體上降低銀行的運(yùn)營成本[12]。</p><p>  本系統(tǒng)以客戶需求挖掘和滿足為中心,加強(qiáng)基于客戶互動關(guān)系的營銷和產(chǎn)品銷售工作,統(tǒng)一客戶聯(lián)系渠道。</p><p>  通過瀏覽大量企業(yè)管理系統(tǒng),和分析總結(jié)用戶的管理需求,一個完善的銀行客戶關(guān)系管理系統(tǒng)應(yīng)具備如下功能:</p><p>

77、  (1)前臺登陸:該模塊包含該系統(tǒng)準(zhǔn)許用戶的登陸,只有擁有本系統(tǒng)賬號的才能登錄本管理系統(tǒng),登陸后可以進(jìn)入管理頁面,查看相關(guān)的信息。</p><p> ?。?)基礎(chǔ)信息維護(hù):該模塊主要是由管理員對客戶進(jìn)行增加客戶,修改客戶的相關(guān)信息,刪除客戶的信息,以及查看自己的信息。</p><p> ?。?)權(quán)限管理:該模塊主要是對本系統(tǒng)所有的權(quán)限進(jìn)行管理,可以增加權(quán)限信息,修改權(quán)限信息,刪除權(quán)限信息

78、,并有相應(yīng)的菜單對該權(quán)限具體設(shè)計的欄目進(jìn)行編輯。</p><p> ?。?)用戶管理:該模塊主要實現(xiàn)系統(tǒng)管理員查看所有用戶的相關(guān)信息,包括身份信息和金額信息,能輸入特定信息查看相關(guān)用戶。</p><p>  (5)系統(tǒng)管理:訪模塊主要實現(xiàn)對管理員查看登錄本系統(tǒng)的所有用戶,已經(jīng)他們的登錄時間和注銷時間,能具體查看某用戶所有的登錄信息,并可刪除其中的記錄。</p><p&g

79、t;<b>  4 概要設(shè)計</b></p><p>  通過需求分析,確定了本系統(tǒng)所應(yīng)具備的功能,及操作流程,并據(jù)此設(shè)計了合理的數(shù)據(jù)庫。系統(tǒng)包含1個數(shù)據(jù)庫,該數(shù)據(jù)庫是存儲用戶相關(guān)信息的數(shù)據(jù)庫DAWN_LBCC,該數(shù)據(jù)庫存儲了所有用戶信息和系統(tǒng)信息。DAWN_LBCC數(shù)據(jù)庫包含6張數(shù)據(jù)表:系統(tǒng)權(quán)限表(MENU)、系統(tǒng)角色表(PERMISSION)、角色權(quán)限表(PERMISSION_MENU

80、)、用戶信息表(Users)、用戶登錄記錄表(User_Login_Log)和用戶角色表(USER_PERMISSION)。</p><p>  4.1 系統(tǒng)體系結(jié)構(gòu)設(shè)計</p><p>  系統(tǒng)體系結(jié)構(gòu)圖如圖4-1所示</p><p>  圖4-1 系統(tǒng)功能模塊圖</p><p>  4.2 E-R圖設(shè)計</p>&l

81、t;p>  E-R圖是實體-聯(lián)系圖,提供了表示實體、屬性和聯(lián)系的方法,下面列出了各表和表與表之間E-R圖。</p><p>  系統(tǒng)權(quán)限(MENU)E-R圖如圖4-2所示。</p><p>  圖4-2系統(tǒng)權(quán)限(MENU)E-R圖</p><p>  系統(tǒng)角色(PERMISSION)E-R圖如圖4-3所示。</p><p>  圖4-3

82、系統(tǒng)角色(PERMISSION)E-R圖</p><p>  角色權(quán)限(PERMISSION_MENU)E-R圖如圖4-4所示。</p><p>  圖4-4 角色權(quán)限(PERMISSION_MENU)E-R圖</p><p>  用戶信息(Users)E-R圖如圖4-5所示。</p><p>  圖4-5用戶信息(Users)E-R圖<

83、;/p><p>  用戶登錄記錄(User_Login_Log)E-R圖如圖4-6所示。</p><p>  圖4-6用戶登錄記錄(User_Login_Log)E-R圖</p><p>  用戶角色(USER_PERMISSION)E-R圖如圖4-7所示。</p><p>  圖4-7用戶角色(USER_PERMISSION)E-R圖</

84、p><p>  表間E-R圖如圖4-8所示。</p><p><b>  1</b></p><p>  圖4-8 表間E-R圖</p><p>  4.3 數(shù)據(jù)表的邏輯結(jié)構(gòu)設(shè)計</p><p>  結(jié)合實際,各實體對應(yīng)的關(guān)系表,表屬性,數(shù)據(jù)類型的設(shè)計如下:</p><p>

85、  表4-1 MENU表</p><p>  表4-2 PERMISSION表</p><p>  表4-3 PERMISSION_MENU表</p><p>  表4-4 Users表</p><p>  表4-5 User_Login_Log表</p><p>  表4-6 USER_PERMISSION表&l

86、t;/p><p>  5 系統(tǒng)設(shè)計與實現(xiàn)</p><p>  本系統(tǒng)是在Myeclipse8.5集成開發(fā)環(huán)境下,運(yùn)用JAVA 平臺設(shè)計完成的。整個系統(tǒng)不僅為用戶提供了一套高效完整的用戶管理,同時也有利于管理員對系統(tǒng)的管理。</p><p><b>  5.1 界面設(shè)計</b></p><p>  本系統(tǒng)運(yùn)用了HTML中f

87、rameset框架,實現(xiàn)了網(wǎng)頁的統(tǒng)一風(fēng)格界面。Framest框架由三個部分組成,最上面的頁為頂頁,包含了本系統(tǒng)的標(biāo)題,以及用戶的登錄信息[14]。左邊頁面為系統(tǒng)菜單欄,用了JQUERY可使菜單欄點擊收縮,右邊為左邊菜單點擊后的相關(guān)頁面,整個系統(tǒng)的風(fēng)格相對統(tǒng)一,界面為深色風(fēng)格,頁面樣式如下圖5-1所示。</p><p><b>  圖5-1界面樣式圖</b></p><p&

88、gt;<b>  5.2 前臺功能</b></p><p>  系統(tǒng)前臺主要實現(xiàn)了只有擁有本系統(tǒng)操作資格的管理員才能登陸本系統(tǒng)的功能。</p><p>  5.2.1 用戶登陸</p><p>  系統(tǒng)中的用戶登錄用了文本框來實現(xiàn),并要輸入相應(yīng)的驗證碼,在頁面中寫入JS驗證輸入信息的格式是否正確,比如用戶名是否填寫,用戶名長度未滿4位等這些

89、文本格式。如果格式正確提交至后臺,在后臺中驗證用戶名是否存在等,如果發(fā)現(xiàn)錯誤則跳至登錄頁面,并在文本框下方輸出登錄的錯誤信息[15]。</p><p>  系統(tǒng)登錄界面如圖5-2所示。</p><p>  圖5-2系統(tǒng)登錄界面</p><p>  點擊登錄按鈕,在JS驗證正確后提交表單數(shù)據(jù)至user!login.acion,根據(jù)struts.xml文件配置,<

90、/p><p>  <action name="user" class="UserAction"></p><p>  <result name="loginSuccess">/default.jsp</result></p><p>  <result name=&qu

91、ot;loginFail">/login.jsp</result></p><p><b>  </action></b></p><p>  user對應(yīng)的是UserAction,根據(jù)applicationContext-action.xml文件配置,</p><p>  <bean name=&

92、quot;UserAction" class="com.dawn.lbcc.action.UserAction"></p><p>  <property name="userService" ref="userService"></property></p><p>  <prope

93、rty name="userLogService" ref="userLogService"></property></p><p><b>  </bean></b></p><p>  找到相應(yīng)的UserAction這個文件,并調(diào)用login()這個方法,如果登錄成功,跳轉(zhuǎn)至default.js

94、p這個頁面,否則跳轉(zhuǎn)至login.jsp這個頁面。事件代碼如下:</p><p>  public String login() {</p><p>  Map<String,Object> sessionMap = new HashMap<String,Object>();</p><p>  errMsg = "";

95、</p><p>  if(StringHelper.isNullString(username)){</p><p>  errMsg = "用戶名不能為空!";</p><p>  return "loginFail";</p><p><b>  }</b></p>

96、;<p>  Users user = userService.findUserByUserName(username);</p><p>  if(null != user){</p><p>  if(StringHelper.isNotNullString(password)&& StringHelper.toMd5(password).equals(u

97、ser.getPassword())){</p><p>  sessionMap.put("loginUser", user);</p><p>  return "loginSuccess";</p><p><b>  } else {</b></p><p>  errMs

98、g = "密碼錯誤!";</p><p>  return "loginFail";</p><p><b>  }</b></p><p><b>  } else {</b></p><p>  errMsg = "用戶未找到!";&l

99、t;/p><p>  return "loginFail";</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  5.3 后臺功能</b></p><p>  5.3.1 添加

100、,修改用戶</p><p>  該模塊實現(xiàn)了擁有登錄本系統(tǒng)權(quán)利的人員添加新的用戶賬戶,以及修改自身賬戶信息的功能。</p><p><b>  (1)添加用戶</b></p><p>  該功能實現(xiàn)了用戶的添加,通過左邊菜單跳轉(zhuǎn)至addUser.jsp,輸入用戶的用戶名,以及輸入兩次密碼來確認(rèn),提交后跳至UserAction中addUser()

101、這個方法,如果成功,則提示添加成功,失敗則在頁面上輸出錯誤信息。添加用戶運(yùn)行界面如圖5-3所示。</p><p>  圖5-3 添加用戶界面</p><p><b>  (2)修改自己信息</b></p><p>  該功能實現(xiàn)了用戶修改自身信息,通過左邊菜單跳轉(zhuǎn)至user!toMyAccount.action,用戶能在這個賬戶看到自己的信息,

102、只能看到一個密碼,另一個需要自己正確輸入,才能修改自身信息,如果成功,則提示修改成功,失敗在頁面上輸出錯誤信息。修改信息界面運(yùn)行截圖如圖5-4所示。</p><p>  圖5-4修改用戶信息界面</p><p>  點擊提交按鈕,提交表單數(shù)據(jù)至user!addUser.action,根據(jù)struts.xml文件配置,</p><p>  <action nam

103、e="user" class="UserAction"></p><p>  <result name="addSuccess">/jsp/user/addSuccess.jsp</result></p><p>  <result name="addFailed">/

104、jsp/user/addUser.jsp</result></p><p><b>  </action></b></p><p>  根據(jù)配置找到UserAction中的addUser()方法,如果添加成功則提示,否則在下面顯示錯誤信息。</p><p>  點擊修改按鈕,提交表單數(shù)據(jù)至user!updateUser(

105、)方法,根據(jù)配置找到UserAction中的updateUser()方法,如果成功提示修改成功,否則在下面提示錯誤信息。</p><p>  添加,修改用戶信息相關(guān)代碼:</p><p>  public String addUser(){</p><p>  errMsg = "";</p><p><b> 

106、 try{</b></p><p>  if(StringHelper.isNullString(usernameEdit)){</p><p>  errMsg = "用戶名不能為空!";U</p><p>  return "addFailed";</p><p><b> 

107、 }</b></p><p>  if(!passwordEdit.equals(passwordRepeat)){</p><p>  errMsg = "兩次密碼不一致!";</p><p>  return "addFailed";</p><p><b>  }</b

108、></p><p>  Users userFind = userService.findUserByUserName(usernameEdit);</p><p>  if(userFind != null){</p><p>  errMsg = "該用戶已存在!";</p><p>  return "

109、;addFailed";</p><p><b>  }</b></p><p>  Users user = new Users();</p><p>  user.setUsername(usernameEdit);</p><p>  user.setPassword(StringHelper.toMd5

110、(passwordEdit));</p><p>  user.setName(name);</p><p>  if(!"".equals(age)){</p><p>  user.setAge(Integer.valueOf(age));</p><p><b>  }</b></p>

111、;<p>  user.setTelephone(telephone);</p><p>  user.setMobilephone(mobilephone);</p><p>  user.setAddress(address);</p><p>  user.setAreaCode(areaCode);</p><p>  

112、user.setEmail(email);</p><p>  userService.saveUser(user);</p><p>  }catch(Exception e){</p><p>  e.printStackTrace();</p><p>  ErrorLog errorLog = new ErrorLog();</

113、p><p>  errorLog.setErrorMessage("添加用戶操作發(fā)生異常");</p><p>  errorLog.setErrorTime(StringHelper.formatDatetime());</p><p>  errorLogService.save(errorLog);</p><p>  

114、errMsg = "操作異常!";</p><p>  return "addFailed";</p><p><b>  }</b></p><p>  return "addSuccess";</p><p><b>  }</b>&l

115、t;/p><p>  public String updateUser(){</p><p><b>  try{</b></p><p>  if(StringHelper.isNullString(usernameEdit)){</p><p>  errMsg = "用戶名不能為空!";</p

116、><p>  return "addFailed";</p><p><b>  }</b></p><p>  if(!passwordEdit.equals(passwordRepeat)){</p><p>  errMsg = "兩次密碼不一致!";</p>&l

溫馨提示

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

最新文檔

評論

0/150

提交評論