基于ssh的銀行客戶關(guān)系管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)設(shè)計(jì)+開題報(bào)告+文獻(xiàn)綜述】_第1頁
已閱讀1頁,還剩53頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

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

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

3、足客戶的需求,銀行無法很好的管理自己的客戶,針對(duì)這一現(xiàn)狀開發(fā)了一個(gè)銀行客戶關(guān)系管理系統(tǒng)。本系統(tǒng)基于MVC模型,采用SSH框架,設(shè)計(jì)并實(shí)現(xiàn)了銀行客戶關(guān)系管理系統(tǒng)。本系統(tǒng)實(shí)現(xiàn)了如下功能:管理員用戶注冊(cè)、登錄、修改、刪除、查詢,客戶金額管理,系統(tǒng)權(quán)限管理,管理員用戶登錄記錄查看。系統(tǒng)完成后,經(jīng)過嚴(yán)格的測(cè)試,系統(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ǔ)知識(shí)簡介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è)計(jì)的基本步驟

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

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

13、19</p><p>  5.2 前臺(tái)功能19</p><p>  5.2.1 用戶登陸19</p><p>  5.3 后臺(tái)功能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)測(cè)試與評(píng)價(jià)34</p><p>  6.1 系統(tǒng)測(cè)試的原則及方法34</p><p>  6.2 測(cè)試與評(píng)價(jià)34</p><p>  6.2.1 單元測(cè)試34</p><p>  6.2.2 集

15、成測(cè)試36</p><p>  6.2.3 系統(tǒng)測(cè)試與評(píng)價(jià)36</p><p>  7 總結(jié)及展望37</p><p>  致 謝錯(cuò)誤!未定義書簽。</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ā)揮越來越重要的作用。客戶關(guān)系管理系統(tǒng)工作已經(jīng)滲透到企業(yè)日常工作的許多方面,無論是其自身還是其所發(fā)揮的作用,都為企業(yè)的創(chuàng)新、發(fā)展以及經(jīng)濟(jì)效益,做出了顯著的貢獻(xiàn)??蛻絷P(guān)系管理是企業(yè)管理中不可缺少的部分,它的管理對(duì)于企業(yè)的決策者和管理者

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

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

19、系統(tǒng)以企業(yè)級(jí)的整體客戶管理為解決方案,幫助企業(yè)建立統(tǒng)一的客戶資源、拓展銷售渠道、尋求最佳市場(chǎng)方式、規(guī)范企業(yè)銷售流程、提供科學(xué)分析方法,建立持久的客戶體系[3]。。通過企業(yè)管理技術(shù)、電子商務(wù)和信息技術(shù)的高度集成,幫助企業(yè)在全球經(jīng)濟(jì)一體化的激烈市場(chǎng)競(jìng)爭(zhēng)環(huán)境中,建立以市場(chǎng)、客戶為中心的管理體系,有效管理企業(yè)與客戶之間的關(guān)系,提高客戶忠誠度,實(shí)現(xiàn)客戶價(jià)值的最大化。企業(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ǎng)的競(jìng)爭(zhēng)已從以金融產(chǎn)品為中心向以客戶為中心傾斜,各種各樣的銀行客戶關(guān)系管理系統(tǒng)應(yīng)運(yùn)而生。但是,目前市場(chǎng)上銀行客戶關(guān)系管理系統(tǒng)難以滿足銀行管理要求,銀行擁有一個(gè)龐大的客戶群體,如何有效的對(duì)其中的大客戶進(jìn)行管理,增加客戶服務(wù)命中率,降低非贏利客戶的服務(wù)成本等,是擺在管理者面前的一個(gè)難題。因此,運(yùn)用先進(jìn)成熟的

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

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

23、劃,如中國工商銀行計(jì)劃在“十五”期間啟動(dòng)客戶關(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)步離完整地實(shí)現(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)這個(gè)項(xiàng)目的意義就在于利用先進(jìn)的數(shù)據(jù)庫管理技術(shù)和J2EE技術(shù)做一個(gè)客戶關(guān)系管理(CRM)對(duì)銀行的客戶進(jìn)行合理高效的管理??蛻絷P(guān)系管理主要是為銀行保持已有的客戶,吸引新的客戶而設(shè)立的銀行與客戶的聯(lián)系渠道并進(jìn)行渠道的管理,同時(shí)分析客戶需求為銀行決策提供支持。銀行主要通過客戶關(guān)系管理來加

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

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

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

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

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

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

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

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

33、7章總結(jié)與展望,主要闡述了本課題所完成的研究工作和存在的不足,以及希望在今后可以完善的地方。</p><p><b>  2 基礎(chǔ)知識(shí)簡介</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)平臺(tái)和瀏覽器上,是所有網(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>  一個(gè)標(biāo)準(zhǔn)的HTML文件由HTML元素,元素的屬性和相關(guān)屬性值3個(gè)基本部分組成。</p><p>  2.1.1 HTML元素</p><p>  HTML元素(element)通常由首尾兩個(gè)標(biāo)記(tag)組成,一個(gè)標(biāo)記由一組尖括號(hào)“<>”包含。如下劃線元素:<u> HTML </u>。</p>

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

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

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

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

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

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

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

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

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

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

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

48、truts2使用了WebWork的設(shè)計(jì)核心,而不是Struts1的設(shè)計(jì)核心。Struts2中大量使用攔截器來處理用戶的請(qǐng)求,從而允許用戶的業(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ā)請(qǐng)求(客戶端發(fā)送請(qǐng)求) </p><p>  4、調(diào)用Action(FilterDispatcher從struts配置文件中讀取與之相對(duì)應(yīng)的Action ) </p><p>  5、啟用

50、攔截器(WebWork攔截器鏈自動(dòng)對(duì)請(qǐng)求應(yīng)用通用功能,如驗(yàn)證) </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)到哪個(gè)jsp頁面) </p><p>  9、響應(yīng)用戶(jsp--->客戶瀏覽器端顯示)</p><p>  2.3.2 Hibernate</p><p>  Hibernate是一個(gè)開放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以

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

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

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

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

56、用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限于服務(wù)器端的開發(fā)。從簡單性、可測(cè)試性和松耦合的角度而言,任何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是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。 </p><p>  (4)輕量——從大小與開銷兩方面而言Spring都是輕量的。完整的Spring框架可以在一個(gè)大小只有1MB多的JAR文件里發(fā)布。并且Spring所需的處理開銷也是微不足道的。此外,Spr

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

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

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

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

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

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

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

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

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

67、  這個(gè)階段是運(yùn)用DBMS提供的數(shù)據(jù)語言、工具及宿主語言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(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)行過程中必須不斷地對(duì)其進(jìn)行評(píng)價(jià)、調(diào)整與修改。</p><p>  在設(shè)計(jì)過程中要把數(shù)據(jù)庫的設(shè)計(jì)和對(duì)

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

69、;<p>  (1)正確反映數(shù)據(jù)與數(shù)據(jù)(信息與信息)之間的層次邏輯關(guān)系;</p><p> ?。?)對(duì)進(jìn)入到數(shù)據(jù)庫中的數(shù)據(jù)有一個(gè)有效性檢查;</p><p> ?。?)對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行非邏輯操作進(jìn)行相應(yīng)的錯(cuò)誤處理;</p><p> ?。?)滿足系統(tǒng)對(duì)性能上的要求。</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三個(gè)框架有機(jī)的結(jié)合起來,使用MVC設(shè)計(jì)模式,即模型-視圖-控制器,視圖由JSP承擔(dān),生成視圖的代碼可servlet的一部分,控制器一般由str

71、uts實(shí)現(xiàn),模型則由Javabean實(shí)現(xiàn)。使用DreamWeaver來設(shè)計(jì)頁面,用div+css布局來設(shè)計(jì)頁面,使用Javascript來對(duì)表單數(shù)據(jù)進(jìn)行驗(yàn)證,部分彈出菜單用jquery來實(shí)現(xiàn),系統(tǒng)中所涉及的數(shù)據(jù)庫在Mysql 5.0的環(huán)境下設(shè)計(jì)完成。 </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三個(gè)框架更好的結(jié)合起來,使代碼簡練易懂,并能很好的支持系統(tǒng)對(duì)客戶基本信息和賬戶基本信息的使用和更新[13]。</p><p>  另外本系統(tǒng)中數(shù)據(jù)庫的訪問也是很重要的,設(shè)計(jì)好的數(shù)據(jù)庫模型能使效率得到提高。由于本系統(tǒng)訪問量可能會(huì)很大,系統(tǒng)的性能指標(biāo)也是要考慮的。</p><p>  由于本人在實(shí)習(xí)期間已做過ssh有關(guān)的相關(guān)項(xiàng)目,所以本系統(tǒng)在個(gè)人掌握的技術(shù)方面是可行的,另外

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

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

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

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

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

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

79、t;<b>  4 概要設(shè)計(jì)</b></p><p>  通過需求分析,確定了本系統(tǒng)所應(yīng)具備的功能,及操作流程,并據(jù)此設(shè)計(jì)了合理的數(shù)據(jù)庫。系統(tǒng)包含1個(gè)數(shù)據(jù)庫,該數(shù)據(jù)庫是存儲(chǔ)用戶相關(guān)信息的數(shù)據(jù)庫DAWN_LBCC,該數(shù)據(jù)庫存儲(chǔ)了所有用戶信息和系統(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è)計(jì)</p><p>  系統(tǒng)體系結(jié)構(gòu)圖如圖4-1所示</p><p>  圖4-1 系統(tǒng)功能模塊圖</p><p>  4.2 E-R圖設(shè)計(jì)</p>&l

81、t;p>  E-R圖是實(shí)體-聯(lián)系圖,提供了表示實(shí)體、屬性和聯(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è)計(jì)</p><p>  結(jié)合實(shí)際,各實(shí)體對(duì)應(yīng)的關(guān)系表,表屬性,數(shù)據(jù)類型的設(shè)計(jì)如下:</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è)計(jì)與實(shí)現(xiàn)</p><p>  本系統(tǒng)是在Myeclipse8.5集成開發(fā)環(huán)境下,運(yùn)用JAVA 平臺(tái)設(shè)計(jì)完成的。整個(gè)系統(tǒng)不僅為用戶提供了一套高效完整的用戶管理,同時(shí)也有利于管理員對(duì)系統(tǒng)的管理。</p><p><b>  5.1 界面設(shè)計(jì)</b></p><p>  本系統(tǒng)運(yùn)用了HTML中f

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

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

89、文本格式。如果格式正確提交至后臺(tái),在后臺(tái)中驗(yàn)證用戶名是否存在等,如果發(fā)現(xiàn)錯(cuò)誤則跳至登錄頁面,并在文本框下方輸出登錄的錯(cuò)誤信息[15]。</p><p>  系統(tǒng)登錄界面如圖5-2所示。</p><p>  圖5-2系統(tǒng)登錄界面</p><p>  點(diǎn)擊登錄按鈕,在JS驗(yàn)證正確后提交表單數(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對(duì)應(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這個(gè)文件,并調(diào)用login()這個(gè)方法,如果登錄成功,跳轉(zhuǎn)至default.js

94、p這個(gè)頁面,否則跳轉(zhuǎn)至login.jsp這個(gè)頁面。事件代碼如下:</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 = "密碼錯(cuò)誤!";</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 后臺(tái)功能</b></p><p>  5.3.1 添加

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

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

102、只能看到一個(gè)密碼,另一個(gè)需要自己正確輸入,才能修改自身信息,如果成功,則提示修改成功,失敗在頁面上輸出錯(cuò)誤信息。修改信息界面運(yùn)行截圖如圖5-4所示。</p><p>  圖5-4修改用戶信息界面</p><p>  點(diǎn)擊提交按鈕,提交表單數(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()方法,如果添加成功則提示,否則在下面顯示錯(cuò)誤信息。</p><p>  點(diǎn)擊修改按鈕,提交表單數(shù)據(jù)至user!updateUser(

105、)方法,根據(jù)配置找到UserAction中的updateUser()方法,如果成功提示修改成功,否則在下面提示錯(cuò)誤信息。</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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論