基于jsp的java_email郵件系統(tǒng)研發(fā)畢業(yè)論文_第1頁(yè)
已閱讀1頁(yè),還剩49頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  畢業(yè)設(shè)計(jì)(論文)</b></p><p>  設(shè)計(jì)題目: 基于JSP的JAVA email郵件系統(tǒng)研發(fā)</p><p>  姓 名 </p><p>  學(xué) 號(hào) </p><p>  院 (系) 計(jì)

2、算機(jī)與信息學(xué)院 </p><p>  專(zhuān) 業(yè) 信息工程 </p><p>  指導(dǎo)老師 </p><p>  起止時(shí)間 </p><p><b>  摘 要</b></p><p>  由于

3、網(wǎng)絡(luò)中郵件管理系統(tǒng)繁多、業(yè)務(wù)需求多變,基于各郵件服務(wù)器的郵件管理系統(tǒng)的維護(hù)和業(yè)務(wù)變更變得難以進(jìn)行。為了極大地方便上網(wǎng)用戶(hù),系統(tǒng)使用了B/S技術(shù)來(lái)進(jìn)行開(kāi)發(fā),避免了原有的C/S結(jié)構(gòu)開(kāi)發(fā)所帶來(lái)的弊端。并且將E-mail系統(tǒng)和Web應(yīng)用結(jié)合起來(lái),用戶(hù)僅通過(guò)瀏覽器訪問(wèn)郵件系統(tǒng)即可。本郵件系統(tǒng)的基本功能包括:用戶(hù)登錄、通訊錄管理、郵件收取、郵件發(fā)送、查看郵件、郵件的管理功能。</p><p>  本文從軟件體系結(jié)構(gòu)設(shè)計(jì)模式的

4、角度入手,首先設(shè)計(jì)和實(shí)現(xiàn)一個(gè)支持郵件收發(fā)、管理等基本功能的郵件管理系統(tǒng),并在此基礎(chǔ)上添加各項(xiàng)擴(kuò)展功能。在介紹Struts2和MVC整體架構(gòu)相關(guān)理論的基礎(chǔ)上,研究如何使用這些JAVA框架和技術(shù),使用MyEclipse開(kāi)發(fā)工具構(gòu)建靈活、實(shí)用的郵件收發(fā)平臺(tái)。該架構(gòu)的主要優(yōu)點(diǎn)是:易于維護(hù)和擴(kuò)展,方便用戶(hù)的掌握和使用。</p><p>  此郵箱系統(tǒng)功能主要分為管理員管理和用戶(hù)管理兩大部分,管理員管理主要包括管理用戶(hù)信息、

5、刪除用戶(hù)等;用戶(hù)管理主要包括用戶(hù)個(gè)人信息的管理、個(gè)人郵箱的管理等。該系統(tǒng)可以根據(jù)對(duì)功能需求進(jìn)行擴(kuò)展和完善。</p><p>  關(guān)鍵詞:郵件管理系統(tǒng); MyEclipse; MVC; Struts2 </p><p><b>  Abstract</b></p><p>  Currently, there are too many E-mai

6、l Management System, and too many business changing requirements, which results of E-mail Management System maintenance and operations become difficult to change. In order to greatly convenient of Internet users, the E-m

7、ail Management System used the B/S technology to carry on the development, which has avoided the malpractice of the traditional C/S structure. And combining the E-mail Management System and the Web application, then user

8、 can visit E-mail Managem</p><p>  In this paper, it firstly begins with the software architecture patterns, and then constructs an E-mail Management System which supports the basic functions, such as sendin

9、g and receiving email,managing emailbox, next add the extension. On the basis of introducing Struts2 architecture and MVC structure, the paper discusses how to use these technologies and frameworks of JAVA to build a fle

10、xible, practical online teaching platform by MyEclipse development tool. The main advantages of this structu</p><p>  This mail management system functions are divided into administrator and user management

11、of two parts, the administrator management includes management of user information, delete users, etc.; The user management includes user personal information management, personal mailbox management. The system can be ex

12、tended and improved based on functional requirements.</p><p>  Key Words:E-mail Management System; MyEclipse; MVC; Struts2</p><p><b>  目 錄</b></p><p><b>  摘 要I&

13、lt;/b></p><p>  AbstractII</p><p><b>  目 錄IV</b></p><p><b>  引 言1</b></p><p><b>  1.緒論2</b></p><p>  1.1選題背景

14、2</p><p>  1.2課題意義2</p><p>  1.3課題的研究?jī)?nèi)容2</p><p>  1.4論文的組織結(jié)構(gòu)3</p><p>  2.理論基礎(chǔ)與相關(guān)技術(shù)介紹4</p><p>  2.1系統(tǒng)開(kāi)發(fā)的工具4</p><p>  2.1.1 MyEclipse

15、 8.64</p><p>  2.1.2 MySQL 5.14</p><p>  2.1.3 B/S架構(gòu)編程體系5</p><p>  2.2系統(tǒng)開(kāi)發(fā)的技術(shù)6</p><p>  2.2.1 MVC理論基礎(chǔ)6</p><p>  2.2.1 Struts2框架技術(shù)8</p><p&

16、gt;  2.3本章小結(jié)10</p><p>  3.系統(tǒng)需求分析11</p><p>  3.1用戶(hù)需求11</p><p>  3.1.1 系統(tǒng)功能需求11</p><p>  3.1.2 用戶(hù)端特性11</p><p>  3.1.3 運(yùn)行環(huán)境需求11</p><p> 

17、 3.1.4 性能需求12</p><p>  3.1.5 軟件屬性需求12</p><p>  3.2數(shù)據(jù)描述12</p><p>  3.2.1 數(shù)據(jù)流程分析12</p><p>  3.2.2 數(shù)據(jù)字典16</p><p>  3.3系統(tǒng)的總體設(shè)計(jì)18</p><p>  

18、3.3.1 系統(tǒng)設(shè)計(jì)思想18</p><p>  3.3.2 系統(tǒng)模塊設(shè)計(jì)19</p><p>  3.3.3 系統(tǒng)模塊說(shuō)明21</p><p>  3.4本章小結(jié)21</p><p>  4.數(shù)據(jù)庫(kù)設(shè)計(jì)22</p><p>  4.1概念結(jié)構(gòu)設(shè)計(jì)22</p><p>  4.

19、2邏輯結(jié)構(gòu)設(shè)計(jì)23</p><p>  4.3本章小結(jié)25</p><p>  5.系統(tǒng)詳細(xì)設(shè)計(jì)26</p><p>  5.1系統(tǒng)模塊總設(shè)計(jì)思想26</p><p>  5.2登錄管理模塊詳細(xì)設(shè)計(jì)26</p><p>  5.2.1 新用戶(hù)注冊(cè)設(shè)計(jì)26</p><p> 

20、 5.2.2 登錄模塊設(shè)計(jì)28</p><p>  5.2.3 系統(tǒng)主界面設(shè)計(jì)30</p><p>  5.2.4 管理員模塊設(shè)計(jì)31</p><p>  5.2.5 修改密碼模塊設(shè)計(jì)33</p><p>  5.3郵箱管理模塊詳細(xì)設(shè)計(jì)33</p><p>  5.3.1 用戶(hù)撰寫(xiě)和發(fā)送郵件設(shè)計(jì)33<

21、;/p><p>  5.3.2 用戶(hù)收件箱管理設(shè)計(jì)36</p><p>  5.4通訊錄管理模塊詳細(xì)設(shè)計(jì)38</p><p>  5.4.1 添加聯(lián)系人設(shè)計(jì)38</p><p>  5.4.2 郵件群發(fā)設(shè)計(jì)39</p><p>  5.5本章小結(jié)41</p><p>  6.系統(tǒng)測(cè)試

22、42</p><p>  6.1系統(tǒng)測(cè)試目的42</p><p>  6.2系統(tǒng)測(cè)試方法42</p><p>  6.3本章小結(jié)54</p><p>  7.總結(jié)與展望54</p><p>  7.1本文總結(jié)54</p><p>  7.2系統(tǒng)改進(jìn)56</p>

23、;<p><b>  致謝57</b></p><p><b>  參考文獻(xiàn)58</b></p><p><b>  引 言</b></p><p>  中國(guó)是世界上Email賬號(hào)最多的國(guó)家,也是發(fā)展最快、市場(chǎng)環(huán)境最復(fù)雜的國(guó)家。電子郵件的發(fā)展如同一面鏡子,折射出中國(guó)的網(wǎng)絡(luò)運(yùn)營(yíng)商及網(wǎng)

24、民們?cè)诨ヂ?lián)網(wǎng)發(fā)展過(guò)程中的種種心態(tài)。無(wú)論如何,電子郵件在人們的生活、工作、學(xué)習(xí)過(guò)程中,越來(lái)越普及。同時(shí),還有一種趨勢(shì),將多種通信手段相結(jié)合,成為一個(gè)立體的、全方位的通信網(wǎng)絡(luò)。這中間,電子郵件也在扮演著相當(dāng)重要的角色。實(shí)在難以想象,如果沒(méi)有了電子郵件,網(wǎng)民的生活是如何的。 但大多網(wǎng)站郵箱功能過(guò)于強(qiáng)大,操作繁瑣,不簡(jiǎn)單實(shí)用,甚至有的是收費(fèi)郵箱,對(duì)于小型企業(yè)或集體用于內(nèi)網(wǎng)通信成本過(guò)高。所以本系統(tǒng)針對(duì)于小范圍人群內(nèi)部通信設(shè)計(jì),實(shí)現(xiàn)郵箱基

25、本功能,操作簡(jiǎn)單易用。</p><p>  本系統(tǒng)采用MyEclipse 8.6開(kāi)發(fā),后臺(tái)數(shù)據(jù)庫(kù)采用MySQL 5.1進(jìn)行開(kāi)發(fā),系統(tǒng)總體分為三大模塊:登錄管理模塊,用戶(hù)身份進(jìn)行驗(yàn)證以及注冊(cè)的實(shí)現(xiàn)。郵箱管理模塊,收發(fā)郵件和對(duì)郵件信息進(jìn)行管理。通訊錄管理模塊,對(duì)聯(lián)系人信息進(jìn)行管理。</p><p><b>  緒論</b></p><p><

26、b>  選題背景</b></p><p>  電子郵件(Electronic-Mail也稱(chēng)為E-mail),它是用戶(hù)或用戶(hù)組之間通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)收發(fā)信息的服務(wù)。目前,電子郵件是互聯(lián)網(wǎng)上使用最為廣泛的功能,現(xiàn)已成為公司進(jìn)行顧客服務(wù)的強(qiáng)大工具,成為網(wǎng)絡(luò)用戶(hù)之間快捷、簡(jiǎn)便、可靠且成本低廉的現(xiàn)代化通訊手段,也是互聯(lián)網(wǎng)上使用最廣泛、最受歡迎的服務(wù)之一。并且現(xiàn)在很多高校也采用郵件方式教學(xué)和收發(fā)作業(yè)。目前互聯(lián)網(wǎng)

27、60%以上的活動(dòng)都與電子郵件有關(guān)。</p><p>  尤其如今環(huán)境資源遭到破壞,提倡環(huán)保的主題下,不論是企業(yè)還是個(gè)人都應(yīng)該盡量節(jié)省紙張,采用郵件形式來(lái)傳遞信息,這樣不僅可以環(huán)保同時(shí)也提高了效率和安全性。而郵件管理系統(tǒng)來(lái)處理用戶(hù)收發(fā)郵件及管理郵件等基本操作是必不可少的。</p><p><b>  課題意義</b></p><p>  電子郵件

28、作為現(xiàn)在重要的通信手段,在各種網(wǎng)絡(luò)服務(wù)中,電子郵件系統(tǒng)以其方便、快捷的特點(diǎn)成為人們進(jìn)行信息交流的理想工具。通過(guò)電子郵件人們可以以十分低廉的代價(jià),以非??斓乃俣韧澜缟掀渌ヂ?lián)網(wǎng)用戶(hù)聯(lián)絡(luò)。電子郵件的使用者數(shù)量呈幾何級(jí)數(shù)增長(zhǎng)。</p><p>  當(dāng)前流行的各大郵件客戶(hù)端軟件的除了最主要的收發(fā)信件之外,功能越來(lái)越復(fù)雜,但是人們平常真正用到的功能很少,很多功能尤其對(duì)于那些計(jì)算機(jī)知識(shí)相對(duì)缺乏的人來(lái)說(shuō),更加顯得太過(guò)于華麗而

29、不太實(shí)用。對(duì)于用戶(hù)來(lái)說(shuō)一款簡(jiǎn)單,方便,快捷的郵件收發(fā)系統(tǒng)將會(huì)在很大程度上為用戶(hù)提供滿(mǎn)意的服務(wù),制作一款能滿(mǎn)足用戶(hù)需求的郵件收發(fā)系統(tǒng)是每一個(gè)設(shè)計(jì)者所追求的目標(biāo)。因此希望通過(guò)本次設(shè)計(jì)完成一個(gè)簡(jiǎn)單的郵件收發(fā)系統(tǒng),實(shí)現(xiàn)郵件的接收與發(fā)送,并能完成附件的傳輸,同時(shí)能實(shí)現(xiàn)郵件用戶(hù)登錄管理及郵件刪除等功能,開(kāi)發(fā)這個(gè)各種功能相對(duì)簡(jiǎn)單實(shí)用的郵件客戶(hù)端程序,簡(jiǎn)化了很多不必要的功能,解決了小型企業(yè)和集體不能在同一平臺(tái)通信交流的問(wèn)題。</p>&l

30、t;p><b>  課題的研究?jī)?nèi)容</b></p><p>  本課題的研究?jī)?nèi)容是使用MyEclipse開(kāi)發(fā)基于MVC架構(gòu)的郵件管理系統(tǒng)。通過(guò)對(duì)MVC設(shè)計(jì)模式和Struts2架構(gòu)的研究,設(shè)計(jì)一套靈活的系統(tǒng)整體架構(gòu)方案,方便對(duì)系統(tǒng)功能模塊的增減和修改,以應(yīng)對(duì)不同用戶(hù)的不同需求,解決現(xiàn)有郵件管理系統(tǒng)復(fù)雜性和可維護(hù)性差的問(wèn)題。將研究結(jié)果應(yīng)用于實(shí)際系統(tǒng)開(kāi)發(fā),為郵件管理系統(tǒng)的快速開(kāi)發(fā)、可維護(hù)和擴(kuò)

31、展能力提供有效的支持。為客戶(hù)與員工建立一個(gè)統(tǒng)一而方便的信息溝通平臺(tái),利用信息技術(shù)實(shí)現(xiàn)信息溝通一體化、規(guī)范化,服務(wù)于工程實(shí)踐。</p><p><b>  論文的組織結(jié)構(gòu)</b></p><p>  本論文的結(jié)構(gòu)分為第一章緒論,第二章理論基礎(chǔ)與相關(guān)技術(shù)介紹,第三章系統(tǒng)需求分析,第四章系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì),第五章系統(tǒng)詳細(xì)設(shè)計(jì),第六章系統(tǒng)測(cè)試,第七章總結(jié)與展望五部分來(lái)闡述。&l

32、t;/p><p>  系統(tǒng)需求分析主要是介紹系統(tǒng)的開(kāi)發(fā)技術(shù)、背景和環(huán)境,分析用戶(hù)對(duì)本系統(tǒng)的需求,描述用戶(hù)端特性、運(yùn)行環(huán)境、性能需求、系統(tǒng)功能需求等方面的需求。通過(guò)數(shù)據(jù)流程圖和數(shù)據(jù)字典對(duì)系統(tǒng)完整的進(jìn)行設(shè)計(jì),對(duì)各個(gè)功能模塊進(jìn)行系統(tǒng)的分析劃分和描述。</p><p>  系統(tǒng)的總體結(jié)構(gòu)設(shè)計(jì)是分別進(jìn)行系統(tǒng)的邏輯設(shè)計(jì)和數(shù)據(jù)庫(kù)的設(shè)計(jì),完成數(shù)據(jù)庫(kù)中各表之間的聯(lián)系描述和關(guān)系描述,通過(guò)數(shù)據(jù)庫(kù)E-R圖表示。<

33、;/p><p>  系統(tǒng)詳細(xì)設(shè)計(jì)是對(duì)系統(tǒng)各部件的詳細(xì)設(shè)計(jì),其中有對(duì)各功能模塊的設(shè)計(jì)、系統(tǒng)流程圖、各功能模塊的代碼分析和實(shí)現(xiàn)以及系統(tǒng)各界面的運(yùn)行狀況。</p><p>  系統(tǒng)測(cè)試是對(duì)本系統(tǒng)進(jìn)行測(cè)試用例,測(cè)試本系統(tǒng)是否可以正常運(yùn)行,并分析各測(cè)試用例。</p><p>  總結(jié)和展望是對(duì)本課題進(jìn)行最后完整的總結(jié),包括系統(tǒng)的各功能內(nèi)容和特點(diǎn),系統(tǒng)的研發(fā)體會(huì)以及系統(tǒng)需要改進(jìn)的方

34、面進(jìn)行詳細(xì)的總結(jié)。</p><p><b>  相關(guān)工具與技術(shù)介紹</b></p><p><b>  系統(tǒng)開(kāi)發(fā)的工具</b></p><p>  MyEclipse8.6</p><p>  MyEclipse 企業(yè)級(jí)工作平臺(tái)(MyEclipse Enterprise Workbench ,簡(jiǎn)稱(chēng)M

35、yEclipse)是對(duì)Eclipse IDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和J2EE的開(kāi)發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的J2EE集成開(kāi)發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。在結(jié)構(gòu)上,MyEclipse的特征可以被分為7類(lèi):JavaEE模型,WEB開(kāi)發(fā)工具,EJB開(kāi)發(fā)工具,應(yīng)用程序

36、服務(wù)器的連接器,JavaEE項(xiàng)目部署服務(wù),數(shù)據(jù)庫(kù)服務(wù),MyEclipse整合幫助。</p><p>  對(duì)于以上每一種功能上的類(lèi)別,在Eclipse中都有相應(yīng)的功能部件,并通過(guò)一系列的插件來(lái)實(shí)現(xiàn)它們。MyEclipse結(jié)構(gòu)上的這種模塊化,可以讓我們?cè)诓挥绊懫渌K的情況下,對(duì)任一模塊進(jìn)行單獨(dú)的擴(kuò)展和升級(jí)。 </p><p>  簡(jiǎn)單而言,MyEclipse是Eclipse的插件,也是一款功

37、能強(qiáng)大的JavaEE集成開(kāi)發(fā)環(huán)境,支持代碼編寫(xiě)、配置、測(cè)試以及除錯(cuò),MyEclipse6.0以前版本需先安裝Eclipse。MyEclipse6.0以后版本安裝時(shí)不需安裝Eclipse。MyEclipse 8.6的主要改進(jìn)是在團(tuán)隊(duì)寫(xiě)作和集中工作環(huán)境的集中配置管理方面。同時(shí)MyEclipse 8.6還包含了上百個(gè)功能的改進(jìn)和新特性,這些新功能和特性將讓MyEclipse 8.6用戶(hù)在開(kāi)發(fā)代碼,測(cè)試,以及部署應(yīng)用方面都得到極大的便利。<

38、;/p><p><b>  MySQL 5.1</b></p><p>  MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開(kāi)放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)。安全性上,MySQL采用十分靈活和安全的權(quán)限和密碼系統(tǒng),允許

39、基于主機(jī)的驗(yàn)證。連接到服務(wù)器時(shí),所有的密碼傳輸均采用加密形式,從而保證了密碼安全。MySQL服務(wù)器提供了對(duì)SQL語(yǔ)句的內(nèi)部支持,可用于檢查、優(yōu)化和修復(fù)表。</p><p>  MySQL 5.1具備多項(xiàng)嶄新企業(yè)級(jí)功能,包括: </p><p>  圖表及索引區(qū)間(Table and Index Partitioning) – MySQL 5.1支援五種不同的平面數(shù)據(jù)區(qū)間:類(lèi)別、散列、關(guān)鍵及

40、混合模式(即次等區(qū)間,sub-partitioning)。 圖表及索引區(qū)間(Table and Index Partitioning) – MySQL 5.1支援五種不同的平面數(shù)據(jù)區(qū)間:類(lèi)別、散列、關(guān)鍵及混合模式(即次等區(qū)間,sub-partitioning)。 透過(guò)將圖表及索引數(shù)據(jù)區(qū)間,從而使到查詢(xún)回應(yīng)時(shí)間更快,因?yàn)橹恍钂呙栌嘘P(guān)的數(shù)據(jù)區(qū)間,毋須掃描整體圖表或索引。 透過(guò)將圖表及索引數(shù)據(jù)區(qū)間,從而使查詢(xún)回應(yīng)時(shí)間更快,因?yàn)橹恍钂呙栌嘘P(guān)的數(shù)

41、據(jù)區(qū)間,毋須掃描整體圖表或索引。 此外,透過(guò)區(qū)間能使不同類(lèi)型的儲(chǔ)存及其他維護(hù)程序可以更輕易、更快速部署。 此外,透過(guò)區(qū)間能使不同類(lèi)型的儲(chǔ)存及其他維護(hù)程序可以更輕易、更快速部署。 </p><p>  以行列為基礎(chǔ)及混合式複製(Row-Based and Hybrid Replication) – MySQL 5.1提供兩個(gè)全新的複製選項(xiàng)。 以行列為基礎(chǔ)及混合式復(fù)制(Row-Based and Hybrid Rep

42、lication) – MySQL 5.1提供兩個(gè)全新的復(fù)制選項(xiàng)。以列為基礎(chǔ)的復(fù)制可以在主伺服器及后備伺服器之間復(fù)制數(shù)據(jù)的轉(zhuǎn)變,而非實(shí)質(zhì)SQL語(yǔ)句(SQL statement) ,至于混合式復(fù)制則可根據(jù)獨(dú)立的SQL運(yùn)行方式,作出以語(yǔ)句或行列為基礎(chǔ)的復(fù)制。這項(xiàng)功能可為應(yīng)用帶來(lái)最具效率及最安全的復(fù)制程序。 </p><p>  工序排程– 這個(gè)嶄新工具可讓開(kāi)發(fā)人員及數(shù)據(jù)庫(kù)管理員將日常及持續(xù)進(jìn)行的SQL轉(zhuǎn)為基礎(chǔ)的工序,

43、在數(shù)據(jù)庫(kù)伺服器上自動(dòng)執(zhí)行,從而透過(guò)在Linux或UNIX的CRON或Microsoft Windows的工序排程軟件,為數(shù)據(jù)庫(kù)的特定工序提供更大的支援。 工序排程–這個(gè)嶄新工具可讓開(kāi)發(fā)人員及數(shù)據(jù)庫(kù)管理員將日常及持續(xù)進(jìn)行的SQL轉(zhuǎn)為基礎(chǔ)的工序,在數(shù)據(jù)庫(kù)伺服器上自動(dòng)執(zhí)行,從而透過(guò)在Linux或UNIX的CRON或Microsoft Windows的工序排程軟件,為數(shù)據(jù)庫(kù)的特定工序提供更大的支援。 </p><p> 

44、 全新MySQL Query Analyzer – 太陽(yáng)電腦全新的MySQL Query Analyzer工具為MySQL企業(yè)版用戶(hù)而設(shè),可以藉著監(jiān)察查詢(xún)的效能表現(xiàn),從而準(zhǔn)確更正SQL編碼問(wèn)題,顯著提升數(shù)據(jù)庫(kù)應(yīng)用的執(zhí)行速度和減少停機(jī)時(shí)間。 全新MySQL Query Analyzer –Sun電腦全新的MySQL Query Analyzer工具為MySQL企業(yè)版用戶(hù)而設(shè),可以借著監(jiān)察查詢(xún)的效能表現(xiàn),從而準(zhǔn)確更正SQL編碼問(wèn)題,顯著提升

45、數(shù)據(jù)庫(kù)應(yīng)用的執(zhí)行速度和減少停機(jī)時(shí)間。</p><p><b>  B/S架構(gòu)編程體系</b></p><p>  B/S架構(gòu)的全稱(chēng)為Browser/Server,即瀏覽器/服務(wù)器結(jié)構(gòu),就是只安裝維護(hù)一個(gè)服務(wù)器(Server),而客戶(hù)端采用瀏覽器(Browse)運(yùn)行軟件。B/S結(jié)構(gòu)最大的優(yōu)點(diǎn)就是可以在任何地方進(jìn)行操作而不用安裝任何專(zhuān)門(mén)的軟件。只要有一臺(tái)能上網(wǎng)的電腦就能使

46、用,客戶(hù)端零維護(hù)。系統(tǒng)的擴(kuò)展性非常容易,只要能上網(wǎng),再由系統(tǒng)管理員分配一個(gè)用戶(hù)名和密碼,就可以使用了。B/S結(jié)構(gòu)的程序架構(gòu)是發(fā)展的趨勢(shì),從MS的.Net系列的BizTalk 2000 Exchange 2000等,全面支持網(wǎng)絡(luò)的構(gòu)件搭建的系統(tǒng).。SUN 和IBM推的JavaBean 構(gòu)件技術(shù)等,使 B/S更加成熟。</p><p>  B/S三層體系結(jié)構(gòu)采用三層客戶(hù)服務(wù)器結(jié)構(gòu),在數(shù)據(jù)管理層(Server)和用戶(hù)界

47、面層(Client)增加了一層結(jié)構(gòu),稱(chēng)為中間件(Middleware),使整個(gè)體系結(jié)構(gòu)成為三層。三層結(jié)構(gòu)是伴隨著中間件技術(shù)的成熟而興起的,核心概念是利用中間件將應(yīng)用分為表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)存儲(chǔ)層三個(gè)不同的處理層次。三個(gè)層次的劃分是從邏輯上分的,具體的物理分法可以有多種組合。中間件作為構(gòu)造三層結(jié)構(gòu)應(yīng)用系統(tǒng)的基礎(chǔ)平臺(tái),提供了以下主要功能:負(fù)責(zé)客戶(hù)機(jī)與服務(wù)器、服務(wù)器與服務(wù)器間的連接和通信;實(shí)現(xiàn)應(yīng)用與數(shù)據(jù)庫(kù)的高效連接;提供一個(gè)三層結(jié)構(gòu)應(yīng)用的

48、開(kāi)發(fā)、運(yùn)行、部署和管理的平臺(tái)。這種三層結(jié)構(gòu)在層與層之間相互獨(dú)立,任何一層的改變不會(huì)影響其它層的功能。</p><p>  在B/S體系結(jié)構(gòu)系統(tǒng)中,用戶(hù)通過(guò)瀏覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請(qǐng)求,服務(wù)器對(duì)瀏覽器的請(qǐng)求進(jìn)行處理,將用戶(hù)所需信息返回到瀏覽器。而其余如數(shù)據(jù)請(qǐng)求、加工、結(jié)果返回以及動(dòng)態(tài)網(wǎng)頁(yè)生成、對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)和應(yīng)用程序的執(zhí)行等工作全部由Web Server完成。隨著Windows將瀏覽器技術(shù)植入操作系統(tǒng)內(nèi)

49、部,這種結(jié)構(gòu)已成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。顯然B/S結(jié)構(gòu)應(yīng)用程序相對(duì)于傳統(tǒng)的C/S結(jié)構(gòu)應(yīng)用程序是一個(gè)非常大的進(jìn)步。</p><p>  B/S結(jié)構(gòu)的主要特點(diǎn)是分布性強(qiáng)、維護(hù)方便、開(kāi)發(fā)簡(jiǎn)單且共享性強(qiáng)、總體擁有成本低。但數(shù)據(jù)安全性問(wèn)題、對(duì)服務(wù)器要求過(guò)高、數(shù)據(jù)傳輸速度慢、軟件的個(gè)性化特點(diǎn)明顯降低,這些缺點(diǎn)是有目共睹的,難以實(shí)現(xiàn)傳統(tǒng)模式下的特殊功能要求。例如通過(guò)瀏覽器進(jìn)行大量的數(shù)據(jù)輸入或進(jìn)行報(bào)表的應(yīng)答、專(zhuān)用性打印輸出

50、都比較困難和不便。此外,實(shí)現(xiàn)復(fù)雜的應(yīng)用構(gòu)造有較大的困難。雖然可以用ActiveX、Java等技術(shù)開(kāi)發(fā)較為復(fù)雜的應(yīng)用,但是相對(duì)于發(fā)展已非常成熟C/S的一系列應(yīng)用工具來(lái)說(shuō),這些技術(shù)的開(kāi)發(fā)復(fù)雜,并沒(méi)有完全成熟的技術(shù)工具供使用。</p><p><b>  系統(tǒng)開(kāi)發(fā)的技術(shù)</b></p><p><b>  MVC理論基礎(chǔ)</b></p>

51、<p>  MVC架構(gòu)是"Model-View-Controller"的縮寫(xiě),中文翻譯為"模型-視圖-控制器"。MVC應(yīng)用程序總是由這三個(gè)部分組成。Event(事件)導(dǎo)致Controller改變Model或View,或者同時(shí)改變兩者。只要Controller改變了Models的數(shù)據(jù)或者屬性,所有依賴(lài)的View都會(huì)自動(dòng)更新。類(lèi)似的,只要Controller改變了View,View會(huì)從潛在的

52、Model中獲取數(shù)據(jù)來(lái)刷新自己。</p><p>  MVC架構(gòu)是一種架構(gòu),其實(shí)需要其他模式協(xié)作完成。而Struts只實(shí)現(xiàn)了MVC的View和Controller兩個(gè)部分,Model部分需要開(kāi)發(fā)者自己來(lái)實(shí)現(xiàn),Struts2在整合了Struts和webwork后,終于徹底實(shí)現(xiàn)了MVC的架構(gòu)。</p><p>  視圖(View):代表用戶(hù)交互界面,對(duì)于Web應(yīng)用來(lái)說(shuō),可以概括為HTML界面,

53、但有可能為XHTML、XML和Applet。隨著應(yīng)用的復(fù)雜性和規(guī)模性,界面的處理也變得具有挑戰(zhàn)性。一個(gè)應(yīng)用可能有很多不同的視圖,MVC設(shè)計(jì)模式對(duì)于視圖的處理僅限于視圖上數(shù)據(jù)的采集和處理,以及用戶(hù)的請(qǐng)求,而不包括在視圖上的業(yè)務(wù)流程的處理。業(yè)務(wù)流程的處理交予模型(Model)處理。比如一個(gè)訂單的視圖只接受來(lái)自模型的數(shù)據(jù)并顯示給用戶(hù),以及將用戶(hù)界面的輸入數(shù)據(jù)和請(qǐng)求傳遞給控制和模型。 </p><p>  模型(Mode

54、l):就是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的處理過(guò)程對(duì)其它層來(lái)說(shuō)是黑箱操作,模型接受視圖請(qǐng)求的數(shù)據(jù),并返回最終的處理結(jié)果。業(yè)務(wù)模型的設(shè)計(jì)可以說(shuō)是MVC最主要的核心。目前流行的EJB模型就是一個(gè)典型的應(yīng)用例子,它從應(yīng)用技術(shù)實(shí)現(xiàn)的角度對(duì)模型做了進(jìn)一步的劃分,以便充分利用現(xiàn)有的組件,但它不能作為應(yīng)用設(shè)計(jì)模型的框架。它僅僅告訴你按這種模型設(shè)計(jì)就可以利用某些技術(shù)組件,從而減少了技術(shù)上的困難。對(duì)一個(gè)開(kāi)發(fā)者來(lái)說(shuō),就可以專(zhuān)注于業(yè)務(wù)模型的

55、設(shè)計(jì)。MVC設(shè)計(jì)模式告訴我們,把應(yīng)用的模型按一定的規(guī)則抽取出來(lái),抽取的層次很重要,這也是判斷開(kāi)發(fā)人員是否優(yōu)秀的設(shè)計(jì)依據(jù)。抽象與具體不能隔得太遠(yuǎn),也不能太近。MVC并沒(méi)有提供模型的設(shè)計(jì)方法,而只告訴你應(yīng)該組織管理這些模型,以便于模型的重構(gòu)和提高重用性。我們可以用對(duì)象編程來(lái)做比喻,MVC定義了一個(gè)頂級(jí)類(lèi),告訴它的子類(lèi)只能做這些,但沒(méi)法限制能做這些。這點(diǎn)對(duì)編程的開(kāi)發(fā)人員非常重要。 </p><p>  業(yè)務(wù)模型還有一個(gè)

56、很重要的模型那就是數(shù)據(jù)模型。數(shù)據(jù)模型主要指實(shí)體對(duì)象的數(shù)據(jù) 保存(持續(xù)化)。比如將一張訂單保存到數(shù)據(jù)庫(kù),從數(shù)據(jù)庫(kù)獲取訂單。我們可以將這個(gè)模型單獨(dú)列出,所有有關(guān)數(shù)據(jù)庫(kù)的操作只限制在該模型中。 </p><p>  控制(Controller)可以理解為從用戶(hù)接收請(qǐng)求, 將模型與視圖匹配在一起,共同完成用戶(hù)的請(qǐng)求。劃分控制層的作用也很明顯,它清楚地告訴你,它就是一個(gè)分發(fā)器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什

57、么樣的用戶(hù)請(qǐng)求??刂茖硬⒉蛔鋈魏蔚臄?shù)據(jù)處理。 </p><p>  模型、視圖與控制器的分離,使得一個(gè)模型可以具有多個(gè)顯示視圖。如果用戶(hù)通過(guò)某個(gè)視圖的控制器改變了模型的數(shù)據(jù),所有其它依賴(lài)于這些數(shù)據(jù)的視圖都應(yīng)反映到這些變化。因此,無(wú)論何時(shí)發(fā)生了何種數(shù)據(jù)變化,控制器都會(huì)將變化通知所有的視圖,導(dǎo)致顯示的更新。這實(shí)際上是一種模型的變化-傳播機(jī)制。模型、視圖、控制器三者之間的關(guān)系和各自的主要功能,如圖2-1所示。</

58、p><p>  圖2-1 MVC組件類(lèi)型的關(guān)系和功能</p><p>  Struts2框架技術(shù)</p><p>  Struts框架的核心是一個(gè)靈活的控制層,它基于以下標(biāo)準(zhǔn)技術(shù),如:Java Servlet、JavaBean、資源綁定、XML和各種Jakarta Commons包。雖然Struts2號(hào)稱(chēng)是一個(gè)全新的框架,但這僅僅是相對(duì)Struts1而言。Struts2

59、 與Struts1相比,確實(shí)有很多革命性的改進(jìn),但它并不是新發(fā)布的新框架,而是在另一個(gè)赫赫有名的框架:WebWork基礎(chǔ)上發(fā)展起來(lái)的。從某種程度上來(lái)講,Struts2沒(méi)有繼承Struts1的血統(tǒng),而是繼承WebWork的血統(tǒng)?;蛘哒f(shuō),WebWork衍生出了Struts2,而不是Struts1衍生了Struts2。因?yàn)镾truts2是WebWork的升級(jí),而不是一個(gè)全新的框架,因此穩(wěn)定性、性能等各方面都有很好的保證:而且吸收了Struts

60、1和WebWork兩者的優(yōu)勢(shì),因此,是一個(gè)非常值得期待的框架。</p><p>  Struts2框架是當(dāng)前Web開(kāi)發(fā)中最為流行的設(shè)計(jì)和開(kāi)發(fā)框架,借助于Struts2框架,開(kāi)發(fā)人員可以把主要精力集中在如何解決實(shí)際業(yè)務(wù)處理上,而不需要在頁(yè)面和業(yè)務(wù)代碼之間的處理上花費(fèi)很多時(shí)間。</p><p>  Struts2開(kāi)發(fā)框架遵循MVC設(shè)計(jì)模式,這樣可以將整個(gè)工程分為3個(gè)相對(duì)獨(dú)立而又能協(xié)同工作的組成

61、部分(包括模型、視圖、控制器),開(kāi)發(fā)人員可以從負(fù)責(zé)的頁(yè)面代碼、業(yè)務(wù)代碼和控制流程中具體分工。</p><p>  核心控制器:FilterDispatcher </p><p>  FilterDispatcher是Struts2框架的核心控制器,該控制器作為一個(gè)Filter運(yùn)行在Web應(yīng)用中,它負(fù)責(zé)攔截所有的用戶(hù)請(qǐng)求,當(dāng)用戶(hù)請(qǐng)求到達(dá)時(shí),該Filter會(huì)過(guò)濾用戶(hù)請(qǐng)求。如果用戶(hù)請(qǐng)求以acti

62、on結(jié)尾,該請(qǐng)求將被轉(zhuǎn)入Struts2框架處理。 </p><p>  Struts2框架獲得了*.action請(qǐng)求后,將根據(jù)*.action請(qǐng)求的前面部分決定調(diào)用哪個(gè)業(yè)務(wù)邏輯組件,例如,對(duì)于login.action請(qǐng)求,Struts2調(diào)用名為login的Action來(lái)處理該請(qǐng)求。</p><p>  Struts2應(yīng)用中的Action都被定義在struts.xml文件中,在該文件中定義A

63、ction時(shí),定義了該Action的name屬性和class屬性,其中name屬性決定了該Action處理哪個(gè)用戶(hù)請(qǐng)求,而class屬性決定了該Action的實(shí)現(xiàn)類(lèi)。</p><p>  Struts2用于處理用戶(hù)請(qǐng)求的Action實(shí)例,并不是用戶(hù)實(shí)現(xiàn)的業(yè)務(wù)控制器,而是Action代理;因?yàn)橛脩?hù)實(shí)現(xiàn)的業(yè)務(wù)控制器并沒(méi)有與Servlet API耦合,顯然無(wú)法處理用戶(hù)請(qǐng)求。而Struts2框架提供了系列攔截器,該系列攔

64、截器負(fù)責(zé)將HttpServletRequest請(qǐng)求中的請(qǐng)求參數(shù)解析出來(lái),傳入到Action中,并回調(diào)Action的execute方法來(lái)處理用戶(hù)請(qǐng)求。</p><p>  用戶(hù)實(shí)現(xiàn)的Action類(lèi)僅僅是Struts2的Action代理的代理目標(biāo)。用戶(hù)實(shí)現(xiàn)的業(yè)務(wù)控制器(Action)則包含了對(duì)用戶(hù)請(qǐng)求的處理。用戶(hù)的請(qǐng)求數(shù)據(jù)包含在HttpServletRequest對(duì)象里,而用戶(hù)的Action類(lèi)無(wú)需訪問(wèn)HttpServ

65、letRequest對(duì)象。攔截器負(fù)責(zé)將HttpServletRequest里的請(qǐng)求數(shù)據(jù)解析出來(lái),并傳給業(yè)務(wù)邏輯組件Action實(shí)例。 </p><p><b>  業(yè)務(wù)控制器 </b></p><p>  業(yè)務(wù)控制器組件就是用戶(hù)實(shí)現(xiàn)Action類(lèi)的實(shí)例,Action類(lèi)里通常包含了一個(gè)execute方法,該方法返回一個(gè)字符串;該字符串就是一個(gè)邏輯視圖名,當(dāng)業(yè)務(wù)控制器處理

66、完用戶(hù)請(qǐng)求后,根據(jù)處理結(jié)果不同,execute方法返回不同字符串;每個(gè)字符串對(duì)應(yīng)一個(gè)視圖名。</p><p>  程序員開(kāi)發(fā)出系統(tǒng)所需要的業(yè)務(wù)控制器后,還需要配置Struts2的Action,即需要配置Action的如下三個(gè)部分定義:</p><p>  1.Action所處理的URL。 </p><p>  2.Action組件所對(duì)應(yīng)的實(shí)現(xiàn)類(lèi)。</p>

67、<p>  3.Action里包含的邏輯視圖和物理資源之間的對(duì)應(yīng)關(guān)系。 </p><p>  每個(gè)Action都要處理一個(gè)用戶(hù)請(qǐng)求,而用戶(hù)請(qǐng)求總是包含了指定URL。當(dāng)Filter Dispatcher攔截到用戶(hù)請(qǐng)求后,根據(jù)請(qǐng)求的URL和Action處理URL之間的對(duì)應(yīng)關(guān)系來(lái)處理轉(zhuǎn)發(fā)。 </p><p>  Struts2的模型組件 </p><p> 

68、 實(shí)際上,模型組件已經(jīng)超出了MVC框架的覆蓋范圍。對(duì)于Struts 2框架而言,通常沒(méi)有為模型組件的實(shí)現(xiàn)提供太多的幫助。 Java EE應(yīng)用里的模型組件,通常指系統(tǒng)的業(yè)務(wù)邏輯組件。而隱藏在系統(tǒng)的業(yè)務(wù)邏輯組件下面的,可能還包含了DAO、領(lǐng)域?qū)ο蟮冉M件。 </p><p>  通常,MVC框架里的業(yè)務(wù)控制器會(huì)調(diào)用模型組件的方法來(lái)處理用戶(hù)請(qǐng)求。也就是說(shuō),業(yè)務(wù)邏輯控制器不會(huì)對(duì)用戶(hù)請(qǐng)求進(jìn)行任何實(shí)際處理,用戶(hù)請(qǐng)求最終由模型組

69、件負(fù)責(zé)處理。業(yè)務(wù)控制器只是中間負(fù)責(zé)調(diào)度的調(diào)度器,這也是稱(chēng)Action為控制器的原因。 </p><p>  Struts 2的視圖組件 </p><p>  Struts 2已經(jīng)改變了Struts1 只能使用JSP作為視圖技術(shù)的現(xiàn)狀,Struts 2允許使用其他的模板技術(shù),如FreeMarker、Velocity作為視圖技術(shù)。 </p><p>  當(dāng)Struts

70、2的控制器返回邏輯視圖名時(shí),邏輯視圖并未與任何的視圖技術(shù)關(guān)聯(lián),僅僅是返回一個(gè)字符串,該字符串作為邏輯視圖名。 </p><p>  當(dāng)我們?cè)趕truts.xml文件中配置Action時(shí),不僅需要指定Action的name屬性和class屬性,還要為Action元素指定系列result子元素,每個(gè)result子元素定義一個(gè)邏輯視圖和物理視圖之間的映射。前面所介紹的應(yīng)用都使用了JSP技術(shù)作為視圖,故配置result子

71、元素時(shí)沒(méi)有指定type屬性,默認(rèn)使用JSP作為視圖資源。 </p><p>  Struts2的工作流程如圖2-2所示,它顯示了這些組件是如何工作的。</p><p>  圖2-2 Struts2工作流程圖</p><p><b>  本章小結(jié)</b></p><p>  本章主要是完整的介紹一下本系統(tǒng)開(kāi)發(fā)的相關(guān)工具與技

72、術(shù),包括有:MyEclipse 8.6、MySQL 5.1,B/S 體系架構(gòu),MVC理論和Struts2技術(shù)。將這些開(kāi)發(fā)工具的特點(diǎn)和優(yōu)勢(shì)做了一個(gè)詳細(xì)的描述,便于在系統(tǒng)開(kāi)發(fā)時(shí)能夠充分利用所具有的特性開(kāi)發(fā)系統(tǒng),提高系統(tǒng)開(kāi)發(fā)的工作效率。本郵件管理系統(tǒng)頁(yè)面組織和控制流程采用基于MVC設(shè)計(jì)模式的Struts2開(kāi)發(fā)框架,這使得整個(gè)系統(tǒng)分為前臺(tái)展示、業(yè)務(wù)流程控制和后臺(tái)開(kāi)發(fā)三個(gè)獨(dú)立的部分。在視圖層,使用了Struts2的標(biāo)簽和html共同完成JSP頁(yè)面

73、;業(yè)務(wù)流程和控制轉(zhuǎn)發(fā)采用Struts2框架中的控制器部分進(jìn)行控制。</p><p><b>  系統(tǒng)需求分析</b></p><p><b>  用戶(hù)需求</b></p><p><b>  系統(tǒng)功能需求</b></p><p>  登錄管理:包括用戶(hù)注冊(cè)、登錄和找回密碼。&l

74、t;/p><p>  注冊(cè)新用戶(hù):用戶(hù)可以通過(guò)申請(qǐng)注冊(cè)使用。主要是完成收集,存用戶(hù)注冊(cè)時(shí)填寫(xiě)的信息。</p><p>  用戶(hù)登錄:主要功能用戶(hù)登錄的用戶(hù)名密碼與數(shù)據(jù)庫(kù)中的信息進(jìn)行驗(yàn)證。登錄成功后可以修改個(gè)人密碼,管理員還可以管理用戶(hù)信息。</p><p>  郵件收發(fā):包括寫(xiě)郵件、收郵件、發(fā)送郵件。</p><p>  寫(xiě)郵件:包含發(fā)送的主題,

75、郵件文本內(nèi)容,可以添加附件。</p><p>  發(fā)送郵件:選擇發(fā)送方式,如發(fā)送或保存;對(duì)非法郵件進(jìn)行攔截。</p><p>  收郵件:獲得新郵件,對(duì)新郵件進(jìn)行過(guò)濾分類(lèi)。</p><p>  郵箱管理:包括收件箱,草稿箱,發(fā)件箱和垃圾箱。</p><p>  收件箱:可以查看郵件,下載郵件的附件,刪除無(wú)用的郵件。</p>&l

76、t;p>  草稿箱:用戶(hù)可以對(duì)保存的郵件進(jìn)行查看和刪除。</p><p>  發(fā)件箱:用戶(hù)可以查看曾發(fā)送的郵件,刪除記錄。</p><p>  垃圾箱:可以選擇徹底刪除垃圾郵件,或者還原郵件。</p><p>  通訊錄模塊:包括建立通訊錄、查看通訊錄和刪除通訊錄。</p><p>  新建通訊錄:主要包括添加聯(lián)系人的基本信息。<

77、/p><p>  查看通訊錄:主要對(duì)聯(lián)系人管理操作,如刪除指定聯(lián)系人。</p><p>  群發(fā)郵件:通過(guò)單擊“選擇通訊錄”可以對(duì)指定聯(lián)系人群發(fā)郵件。</p><p><b>  用戶(hù)端特性</b></p><p>  將用戶(hù)分為兩種類(lèi)型:管理員、用戶(hù)。</p><p>  管理員管理系統(tǒng)中已注冊(cè)的用

78、戶(hù)和發(fā)郵件;用戶(hù)只能進(jìn)行郵件的收發(fā)和管理功能的操作。</p><p><b>  運(yùn)行環(huán)境需求</b></p><p>  用戶(hù)對(duì)系統(tǒng)運(yùn)行環(huán)境需求包括軟件、硬件、開(kāi)發(fā)等方面。</p><p><b>  1)系統(tǒng)軟件要求:</b></p><p>  操作系統(tǒng):Windows xp/vista/wi

79、n7</p><p>  開(kāi)發(fā)軟件:MyEclipse 8.6</p><p>  數(shù)據(jù)庫(kù):MySQL 5.1</p><p><b>  2)系統(tǒng)硬件要求:</b></p><p><b>  處理器:P4 以上</b></p><p>  內(nèi)存:512MB以上</p

80、><p>  硬盤(pán)空間:10G以上</p><p><b>  3)開(kāi)發(fā)要求:</b></p><p>  開(kāi)發(fā)工具:MyEclipse 8.6 </p><p><b>  編程語(yǔ)言:Java</b></p><p>  工具配置:JDK 1.6</p><

81、p><b>  性能需求</b></p><p><b>  1)時(shí)間要求</b></p><p>  一般操作的響應(yīng)時(shí)間應(yīng)在2-4秒內(nèi),對(duì)后臺(tái)數(shù)據(jù)庫(kù)的操作也應(yīng)在可接受的時(shí)間內(nèi)完成。</p><p><b>  2)數(shù)據(jù)精確度要求</b></p><p>  要求輸入、輸

82、出數(shù)據(jù);刪除,修改記錄等要保證關(guān)鍵字的完整性。</p><p><b>  軟件屬性需求</b></p><p>  1)準(zhǔn)確性:要求本系統(tǒng)能夠正常運(yùn)行,系統(tǒng)不會(huì)死機(jī)。</p><p>  2)高效率:系統(tǒng)反應(yīng)速度快,工作效率高。</p><p>  3)易操作性:各功能菜單、按鈕簡(jiǎn)單,易懂,使用起來(lái)上手快。</p

83、><p>  4)可維護(hù)性:數(shù)據(jù)庫(kù)和顯示的內(nèi)容都可以及時(shí)的修改和維護(hù)。</p><p>  5)安全性:各權(quán)限管理規(guī)范,系統(tǒng)安全性強(qiáng)。</p><p>  6)可移植性:在臺(tái)式機(jī)、筆記本電腦上通用。</p><p><b>  數(shù)據(jù)描述</b></p><p><b>  數(shù)據(jù)流程分析<

84、;/b></p><p>  數(shù)據(jù)流程圖(DFD):是一種圖形化技術(shù),是描繪數(shù)據(jù)在軟件中流動(dòng)和被處理的邏輯過(guò)程。以下是本系統(tǒng)按照功能來(lái)劃分的數(shù)據(jù)流圖的頂層圖:</p><p>  圖3-1 系統(tǒng)的頂層數(shù)據(jù)流圖</p><p>  頂層數(shù)據(jù)流圖僅僅是從總體上反映了系統(tǒng)的信息聯(lián)系,按照結(jié)構(gòu)化分析方法,自頂向下、逐層分解,對(duì)頂層圖進(jìn)行細(xì)化。細(xì)化進(jìn)行到數(shù)據(jù)流圖中的每一

85、個(gè)數(shù)據(jù)處理成為一個(gè)很容易理解的單一功能,且這個(gè)單一功能可以通過(guò)簡(jiǎn)單的邏輯表達(dá)式在數(shù)據(jù)字典中予以說(shuō)明。</p><p>  通過(guò)對(duì)數(shù)據(jù)流的頂層圖的繪制與分析得到系統(tǒng)的第0層數(shù)據(jù)流:</p><p>  圖3-2 系統(tǒng)的第0層數(shù)據(jù)流</p><p>  第0層數(shù)據(jù)流圖反映的是對(duì)系統(tǒng)主要數(shù)據(jù)流的方向,將其逐層細(xì)化,把數(shù)據(jù)流圖中的每一個(gè)數(shù)據(jù)加工進(jìn)行了分析細(xì)化。各信息管理的數(shù)

86、據(jù)流圖,其第一層數(shù)據(jù)流圖如下圖:</p><p>  圖3-3 登錄管理的第1層數(shù)據(jù)流圖</p><p>  圖3-4 郵件收發(fā)的第1層數(shù)據(jù)流圖</p><p>  圖3-5 郵箱管理的第1層數(shù)據(jù)流圖</p><p>  圖3-6 通訊錄管理的第1層數(shù)據(jù)流圖</p><p><b>  數(shù)據(jù)字典</b&

87、gt;</p><p>  數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對(duì)數(shù)據(jù)流圖中包含的所有元素的定義的集合。數(shù)據(jù)字典最主要的用途就是供人查閱對(duì)不了解的條目的解釋?zhuān)瑪?shù)據(jù)字典的作用也正是在軟件分析和設(shè)計(jì)的過(guò)程中給人提供關(guān)于數(shù)據(jù)的描述信息。</p><p>  數(shù)據(jù)流程圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型,沒(méi)有數(shù)據(jù)字典,數(shù)據(jù)流圖就不嚴(yán)格。所以為了精確定義每一個(gè)元素,需要數(shù)據(jù)字典來(lái)將系統(tǒng)規(guī)格說(shuō)明。&l

88、t;/p><p><b>  系統(tǒng)中的數(shù)據(jù)流:</b></p><p><b>  表1:用戶(hù)注冊(cè)</b></p><p><b>  表2:用戶(hù)登錄 </b></p><p><b>  表3:修改密碼</b></p><p><

89、;b>  表4:添加聯(lián)系人</b></p><p><b>  表5:用戶(hù)管理</b></p><p><b>  表6:查看郵件</b></p><p><b>  表7:錯(cuò)誤提示</b></p><p><b>  表8:成功提示</b&g

90、t;</p><p><b>  系統(tǒng)的總體設(shè)計(jì)</b></p><p><b>  系統(tǒng)設(shè)計(jì)思想</b></p><p>  本系統(tǒng)所設(shè)計(jì)用戶(hù)權(quán)限分為兩類(lèi):管理員,用戶(hù)。普通用戶(hù)可以在系統(tǒng)中收發(fā)郵件以及管理郵箱的操作。管理員除了可以收發(fā)郵件的功能操作外,還可以進(jìn)行對(duì)用戶(hù)信息進(jìn)行管理功能。</p><p

91、>  管理員的具體操作如下圖:</p><p>  圖3-7 管理員使用系統(tǒng)功能模塊圖</p><p>  用戶(hù)的具體操作如下圖:</p><p>  圖3-8 普通用戶(hù)使用系統(tǒng)功能模塊圖</p><p><b>  系統(tǒng)模塊設(shè)計(jì)</b></p><p>  通過(guò)分析整個(gè)系統(tǒng),將系統(tǒng)的各個(gè)模

92、塊進(jìn)行詳細(xì)的劃分,將每個(gè)模塊細(xì)化出子模塊:</p><p>  圖3-9 系統(tǒng)功能總模塊圖</p><p><b>  系統(tǒng)模塊說(shuō)明</b></p><p><b>  登錄管理模塊:</b></p><p>  對(duì)用戶(hù)身份進(jìn)行驗(yàn)證以及權(quán)限的設(shè)置等。本模塊分三個(gè)子模塊,注冊(cè)新用戶(hù)模塊的功能是向系統(tǒng)注

93、冊(cè)新用戶(hù)的基本信息;用戶(hù)登錄模塊的功能是使用本系統(tǒng)上注冊(cè)的用戶(hù)名和密碼登錄;修改密碼模塊的功能是通過(guò)先驗(yàn)證用戶(hù)原密碼然后修改成新密碼。</p><p><b>  郵件收發(fā)模塊:</b></p><p>  對(duì)用戶(hù)的郵件收發(fā)進(jìn)行詳細(xì)的管理。本模塊分為三個(gè)子模塊,寫(xiě)郵件模塊的功能是用來(lái)錄入郵件的內(nèi)容;收郵件模塊的功能是用來(lái)接收、過(guò)濾并分類(lèi)郵件信息;發(fā)送郵件模塊的功能包括

94、操作方式(發(fā)送和保存到草稿箱)和存儲(chǔ)郵件。</p><p><b>  郵箱管理模塊:</b></p><p>  是對(duì)郵箱中的郵件信息進(jìn)行詳細(xì)的管理。本模塊分為四個(gè)子模塊,收件箱的功能是用來(lái)查看和刪除郵件;發(fā)件箱模塊的功能是用來(lái)存儲(chǔ)用戶(hù)發(fā)送過(guò)的郵件信息;草稿箱模塊的功能是實(shí)現(xiàn)對(duì)保存的郵件進(jìn)行編輯和刪除;垃圾箱模塊的功能是用來(lái)存放垃圾郵件和用戶(hù)刪除的郵件。</p

95、><p><b>  通訊錄管理模塊:</b></p><p>  是對(duì)所有聯(lián)系人的信息管理。本模塊分為三個(gè)子模塊,新建通訊錄模塊的功能是聯(lián)系人信息;查看通訊錄模塊的功能是列出所有聯(lián)系人的信息進(jìn)行查看和刪除;刪除通訊錄模塊的功能是刪除單個(gè)聯(lián)系人的操作;郵件群發(fā)是在通訊錄列表中選擇指定聯(lián)系人群發(fā)郵件。</p><p><b>  本章小結(jié)&

96、lt;/b></p><p>  本章從用戶(hù)端的需求,分別從用戶(hù)需求,數(shù)據(jù)描述,系統(tǒng)的總體設(shè)計(jì)三方面進(jìn)行詳細(xì)分析,對(duì)用戶(hù)的需求做了詳細(xì)的描述。第一,從用戶(hù)需求分析,進(jìn)行了系統(tǒng)功能的需求分析,用戶(hù)端特性分析,運(yùn)行環(huán)境需求的分析,性能需求分析,軟件屬性需求分析。不同方面分析用戶(hù)的需求,了解用戶(hù)的實(shí)際要求。第二,數(shù)據(jù)描述,通過(guò)DFD數(shù)據(jù)流程圖描述了數(shù)據(jù)從輸入到輸出的變化過(guò)程,然后設(shè)計(jì)了數(shù)據(jù)字典來(lái)對(duì)數(shù)據(jù)流程圖嚴(yán)格化

97、,細(xì)致的解釋各個(gè)名詞只有數(shù)據(jù)流圖和數(shù)據(jù)字典共同在一起才能精確定義共同構(gòu)成系統(tǒng)的規(guī)格說(shuō)明。兩者相互配合,清楚地表達(dá)數(shù)據(jù)處理的過(guò)程。第三,系統(tǒng)的總體設(shè)計(jì),將系統(tǒng)按權(quán)限的每類(lèi)管理員如何使用的系統(tǒng)用模塊圖來(lái)表達(dá)。并畫(huà)出系統(tǒng)功能總模塊圖,并對(duì)每一個(gè)模塊進(jìn)行詳細(xì)地說(shuō)明。</p><p><b>  數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p><b>  概念結(jié)構(gòu)設(shè)計(jì)</b

98、></p><p><b>  管理員實(shí)體:</b></p><p><b>  圖4-1管理員實(shí)體</b></p><p><b>  用戶(hù)實(shí)體:</b></p><p><b>  圖4-2用戶(hù)實(shí)體</b></p><p>

99、;  各箱子(的郵件)實(shí)體:</p><p>  圖4-3 各箱子(的郵件)實(shí)體</p><p><b>  通訊錄實(shí)體:</b></p><p>  圖4-4 通訊錄實(shí)體</p><p><b>  實(shí)體E-R圖:</b></p><p>  圖4-5 總體E-R圖<

100、/p><p><b>  邏輯結(jié)構(gòu)設(shè)計(jì)</b></p><p>  user表(用戶(hù)信息表):</p><p>  admin表(管理員信息表):</p><p>  shoujianxiang表(收件箱表):</p><p>  fajianxiang表(發(fā)件箱表):</p><

101、p>  caogaoxiang表(草稿箱表):</p><p>  lajixiang表(垃圾箱表):</p><p>  tongxunlu表(通訊錄信息表):</p><p><b>  本章小結(jié)</b></p><p>  本章對(duì)本系統(tǒng)數(shù)據(jù)庫(kù)的設(shè)計(jì)思路做了綜合描述,根據(jù)郵件系統(tǒng)的上述需求,搭建了相應(yīng)的數(shù)據(jù)庫(kù)表

102、,來(lái)存儲(chǔ)本系統(tǒng)中所有要用到的信息。本章采用實(shí)體E-R圖來(lái)分析描述概念模型。通過(guò)各個(gè)實(shí)體間的聯(lián)系來(lái)表達(dá)、設(shè)計(jì)數(shù)據(jù)庫(kù),并利用數(shù)據(jù)字典表達(dá)各數(shù)據(jù)流,數(shù)據(jù)庫(kù)的設(shè)計(jì)對(duì)系統(tǒng)之后的設(shè)計(jì)與開(kāi)發(fā)奠定了良好的基礎(chǔ)。</p><p><b>  系統(tǒng)詳細(xì)設(shè)計(jì)</b></p><p><b>  系統(tǒng)模塊總設(shè)計(jì)思想</b></p><p>  本

103、系統(tǒng)中各個(gè)模塊的設(shè)計(jì)思想都是經(jīng)過(guò)分析、定義、設(shè)計(jì)模塊內(nèi)數(shù)據(jù)結(jié)構(gòu),畫(huà)流程圖進(jìn)行分析、對(duì)每個(gè)字段進(jìn)行描述說(shuō)明后進(jìn)行確定的。所以能夠確保設(shè)計(jì)思路清晰,系統(tǒng)運(yùn)行正常。在經(jīng)過(guò)調(diào)研后,了解了郵件用戶(hù)的需求,為了適應(yīng)用戶(hù)的需求,其中郵件管理模塊和通訊錄管理模塊的設(shè)計(jì)思想均來(lái)自于現(xiàn)有郵件網(wǎng)站的操作內(nèi)容。本系統(tǒng)的界面設(shè)計(jì)簡(jiǎn)樸,清新,各個(gè)功能按鈕設(shè)計(jì)簡(jiǎn)約,能夠使用戶(hù)的操作簡(jiǎn)單易懂。對(duì)整個(gè)系統(tǒng)模塊設(shè)計(jì)主要是:登錄管理模塊、郵件收發(fā)模塊、郵件管理模塊。每個(gè)模塊

104、都包含子模塊,如下是對(duì)模塊的詳細(xì)設(shè)計(jì)進(jìn)行分析。</p><p>  登錄管理模塊詳細(xì)設(shè)計(jì)</p><p><b>  新用戶(hù)注冊(cè)設(shè)計(jì)</b></p><p><b>  設(shè)計(jì)思想:</b></p><p>  新用戶(hù)注冊(cè)的功能顧名思義是用來(lái)注冊(cè)新的用戶(hù),當(dāng)成為本系統(tǒng)的用戶(hù)后才可以使用本系統(tǒng),所以首先

105、新用戶(hù)要在本系統(tǒng)注冊(cè)合法身份。在新用戶(hù)注冊(cè)模塊中,填寫(xiě)的內(nèi)容包括用戶(hù)用戶(hù)名、密碼、姓名、地址、性別和電話(huà)。當(dāng)所有信息填寫(xiě)完整后,可以點(diǎn)擊“確定”按鈕,系統(tǒng)將提示“注冊(cè)成功”并將所輸入的信息保存入數(shù)據(jù)庫(kù)user表中。如果輸入的用戶(hù)名數(shù)據(jù)庫(kù)中已經(jīng)存在,那么系統(tǒng)會(huì)提示“用戶(hù)已存在”的提示。用戶(hù)需要修改注冊(cè)的用戶(hù)名。</p><p><b>  該模塊時(shí)序圖:</b></p><

106、p>  圖5-1 注冊(cè)模塊時(shí)序圖</p><p><b>  設(shè)計(jì)實(shí)現(xiàn)</b></p><p>  如圖5-2所示即為用戶(hù)注冊(cè)界面的設(shè)計(jì)結(jié)果,當(dāng)用戶(hù)填寫(xiě)完所需要填寫(xiě)的信息之后,單擊“注冊(cè)”按鈕,即可注冊(cè)成功。而用戶(hù)在登錄系統(tǒng)之后,會(huì)提供修改個(gè)人密碼的界面,只是不能修改用戶(hù)名,修改密碼界面將在后面介紹。</p><p>  圖5-2 新用戶(hù)

107、注冊(cè)界面</p><p>  用戶(hù)注冊(cè)的頁(yè)面主要包括userReg.jsp,由用戶(hù)注冊(cè)的界面設(shè)計(jì)中可知,注冊(cè)用戶(hù)時(shí)主要是需要填寫(xiě)用戶(hù)的基本信息,如用戶(hù)名、密碼等,當(dāng)用戶(hù)單擊“注冊(cè)”按鈕保存填入的數(shù)據(jù)時(shí),頁(yè)面需要將這些頁(yè)面的表單取出來(lái)。在本頁(yè)面的處理時(shí),將JSP頁(yè)面的提交對(duì)象request作為參數(shù),傳進(jìn)UserAction.java類(lèi)的方法中,然后進(jìn)行用戶(hù)新增。在執(zhí)行添加新用戶(hù)之前,需要檢驗(yàn)新輸入的用戶(hù)名是否在系統(tǒng)

108、中存在,一旦存在則不允許添加,因?yàn)橛脩?hù)名是標(biāo)志一個(gè)用戶(hù)的惟一信息,然后再根據(jù)表user組合INSERT語(yǔ)句,執(zhí)行數(shù)據(jù)庫(kù)的新增操作。</p><p>  此圖為新用戶(hù)注冊(cè)成功后顯示出來(lái)的新界面,其內(nèi)容中含有用戶(hù)注冊(cè)中的一些基本信息。如圖5-3所示。</p><p>  圖5-3 新用戶(hù)注冊(cè)成功界面</p><p><b>  登錄模塊設(shè)計(jì)</b>

109、</p><p><b>  設(shè)計(jì)思想:</b></p><p>  登錄系統(tǒng)時(shí),要求用戶(hù)輸入自己的用戶(hù)名名和密碼。如果用戶(hù)所輸入的用戶(hù)名和密碼正確則直接跳轉(zhuǎn)到郵件管理系統(tǒng)主界面。如果用戶(hù)沒(méi)有輸入用戶(hù)名和密碼,或者用戶(hù)名和密碼錯(cuò)誤,則提示登錄失敗的。登錄模塊實(shí)現(xiàn)了用戶(hù)登錄的功能。</p><p><b>  該模塊流程圖:</b

110、></p><p>  圖5-4 登錄模塊時(shí)序圖</p><p><b>  3)設(shè)計(jì)實(shí)現(xiàn)</b></p><p>  管理員、用戶(hù)登錄的界面中,包括用戶(hù)名和密碼得輸入文本框,以及提交登錄按鈕和重寫(xiě)按鈕。管理員登錄界面如圖5-5所示。</p><p>  圖5-5 管理員登錄界面</p><p&

111、gt;  用戶(hù)的登錄,使用的是類(lèi)TUser.java,UserAction.java等,其中User.java是專(zhuān)門(mén)為用戶(hù)寫(xiě)的一個(gè)類(lèi),同時(shí)也作為一般用戶(hù)的登錄類(lèi),該類(lèi)的主要屬性代碼如下:</p><p><b>  TUser類(lèi):</b></p><p>  private Integer userId;</p><p>  private S

112、tring userName;</p><p>  private String userPw;</p><p>  private int userType;</p><p>  private String userRealname;</p><p>  private String userAddress;</p><

113、;p>  private String userSex;</p><p>  private String userTel;</p><p>  private String userEmail;</p><p><b>  TAdmin類(lèi):</b></p><p>  private Integer userId

114、;</p><p>  private String userName;</p><p>  private String userPw;</p><p>  在執(zhí)行登錄時(shí),頁(yè)面email\WebRoot\login.jsp調(diào)用loginService.java文件中的方法對(duì)所填寫(xiě)的信息進(jìn)行接收,并通過(guò)select語(yǔ)句查詢(xún)user表或admin表,對(duì)管理員或用戶(hù)的登

115、錄信息進(jìn)行驗(yàn)證。</p><p><b>  系統(tǒng)主界面設(shè)計(jì)</b></p><p><b>  設(shè)計(jì)思想:</b></p><p>  將所有模塊放入左邊功能菜單中,按照用戶(hù)使用方便的原則分為三個(gè)部分,分別為基本操作,郵件管理和我的草稿箱。將常用的密碼修改和系統(tǒng)屬性放在基本操作部分中;收件箱、發(fā)件箱、垃圾箱、發(fā)郵件和清空

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論