版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
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> 專 業(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)用戶,系統(tǒng)使用了B/S技術(shù)來進(jìn)行開發(fā),避免了原有的C/S結(jié)構(gòu)開發(fā)所帶來的弊端。并且將E-mail系統(tǒng)和Web應(yīng)用結(jié)合起來,用戶僅通過瀏覽器訪問郵件系統(tǒng)即可。本郵件系統(tǒng)的基本功能包括:用戶登錄、通訊錄管理、郵件收取、郵件發(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開發(fā)工具構(gòu)建靈活、實(shí)用的郵件收發(fā)平臺(tái)。該架構(gòu)的主要優(yōu)點(diǎn)是:易于維護(hù)和擴(kuò)展,方便用戶的掌握和使用。</p><p> 此郵箱系統(tǒng)功能主要分為管理員管理和用戶管理兩大部分,管理員管理主要包括管理用戶信息、
5、刪除用戶等;用戶管理主要包括用戶個(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課題的研究內(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)開發(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)開發(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用戶需求11</p><p> 3.1.1 系統(tǒng)功能需求11</p><p> 3.1.2 用戶端特性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)模塊說明21</p><p> 3.4本章小結(jié)21</p><p> 4.數(shù)據(jù)庫設(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 新用戶注冊設(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 用戶撰寫和發(fā)送郵件設(shè)計(jì)33<
21、;/p><p> 5.3.2 用戶收件箱管理設(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)測試
22、42</p><p> 6.1系統(tǒng)測試目的42</p><p> 6.2系統(tǒng)測試方法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> 中國是世界上Email賬號(hào)最多的國家,也是發(fā)展最快、市場環(huán)境最復(fù)雜的國家。電子郵件的發(fā)展如同一面鏡子,折射出中國的網(wǎng)絡(luò)運(yùn)營商及網(wǎng)
24、民們在互聯(lián)網(wǎng)發(fā)展過程中的種種心態(tài)。無論如何,電子郵件在人們的生活、工作、學(xué)習(xí)過程中,越來越普及。同時(shí),還有一種趨勢,將多種通信手段相結(jié)合,成為一個(gè)立體的、全方位的通信網(wǎng)絡(luò)。這中間,電子郵件也在扮演著相當(dāng)重要的角色。實(shí)在難以想象,如果沒有了電子郵件,網(wǎng)民的生活是如何的。 但大多網(wǎng)站郵箱功能過于強(qiáng)大,操作繁瑣,不簡單實(shí)用,甚至有的是收費(fèi)郵箱,對(duì)于小型企業(yè)或集體用于內(nèi)網(wǎng)通信成本過高。所以本系統(tǒng)針對(duì)于小范圍人群內(nèi)部通信設(shè)計(jì),實(shí)現(xiàn)郵箱基
25、本功能,操作簡單易用。</p><p> 本系統(tǒng)采用MyEclipse 8.6開發(fā),后臺(tái)數(shù)據(jù)庫采用MySQL 5.1進(jìn)行開發(fā),系統(tǒng)總體分為三大模塊:登錄管理模塊,用戶身份進(jìn)行驗(yàn)證以及注冊的實(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也稱為E-mail),它是用戶或用戶組之間通過計(jì)算機(jī)網(wǎng)絡(luò)收發(fā)信息的服務(wù)。目前,電子郵件是互聯(lián)網(wǎng)上使用最為廣泛的功能,現(xiàn)已成為公司進(jìn)行顧客服務(wù)的強(qiáng)大工具,成為網(wǎng)絡(luò)用戶之間快捷、簡便、可靠且成本低廉的現(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é)省紙張,采用郵件形式來傳遞信息,這樣不僅可以環(huán)保同時(shí)也提高了效率和安全性。而郵件管理系統(tǒng)來處理用戶收發(fā)郵件及管理郵件等基本操作是必不可少的。</p><p><b> 課題意義</b></p><p> 電子郵件
28、作為現(xiàn)在重要的通信手段,在各種網(wǎng)絡(luò)服務(wù)中,電子郵件系統(tǒng)以其方便、快捷的特點(diǎn)成為人們進(jìn)行信息交流的理想工具。通過電子郵件人們可以以十分低廉的代價(jià),以非??斓乃俣韧澜缟掀渌ヂ?lián)網(wǎng)用戶聯(lián)絡(luò)。電子郵件的使用者數(shù)量呈幾何級(jí)數(shù)增長。</p><p> 當(dāng)前流行的各大郵件客戶端軟件的除了最主要的收發(fā)信件之外,功能越來越復(fù)雜,但是人們平常真正用到的功能很少,很多功能尤其對(duì)于那些計(jì)算機(jī)知識(shí)相對(duì)缺乏的人來說,更加顯得太過于華麗而
29、不太實(shí)用。對(duì)于用戶來說一款簡單,方便,快捷的郵件收發(fā)系統(tǒng)將會(huì)在很大程度上為用戶提供滿意的服務(wù),制作一款能滿足用戶需求的郵件收發(fā)系統(tǒng)是每一個(gè)設(shè)計(jì)者所追求的目標(biāo)。因此希望通過本次設(shè)計(jì)完成一個(gè)簡單的郵件收發(fā)系統(tǒng),實(shí)現(xiàn)郵件的接收與發(fā)送,并能完成附件的傳輸,同時(shí)能實(shí)現(xiàn)郵件用戶登錄管理及郵件刪除等功能,開發(fā)這個(gè)各種功能相對(duì)簡單實(shí)用的郵件客戶端程序,簡化了很多不必要的功能,解決了小型企業(yè)和集體不能在同一平臺(tái)通信交流的問題。</p>&l
30、t;p><b> 課題的研究內(nèi)容</b></p><p> 本課題的研究內(nèi)容是使用MyEclipse開發(fā)基于MVC架構(gòu)的郵件管理系統(tǒng)。通過對(duì)MVC設(shè)計(jì)模式和Struts2架構(gòu)的研究,設(shè)計(jì)一套靈活的系統(tǒng)整體架構(gòu)方案,方便對(duì)系統(tǒng)功能模塊的增減和修改,以應(yīng)對(duì)不同用戶的不同需求,解決現(xiàn)有郵件管理系統(tǒng)復(fù)雜性和可維護(hù)性差的問題。將研究結(jié)果應(yīng)用于實(shí)際系統(tǒng)開發(fā),為郵件管理系統(tǒng)的快速開發(fā)、可維護(hù)和擴(kuò)
31、展能力提供有效的支持。為客戶與員工建立一個(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)測試,第七章總結(jié)與展望五部分來闡述。&l
32、t;/p><p> 系統(tǒng)需求分析主要是介紹系統(tǒng)的開發(fā)技術(shù)、背景和環(huán)境,分析用戶對(duì)本系統(tǒng)的需求,描述用戶端特性、運(yùn)行環(huán)境、性能需求、系統(tǒng)功能需求等方面的需求。通過數(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ù)庫的設(shè)計(jì),完成數(shù)據(jù)庫中各表之間的聯(lián)系描述和關(guān)系描述,通過數(shù)據(jù)庫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)測試是對(duì)本系統(tǒng)進(jìn)行測試用例,測試本系統(tǒng)是否可以正常運(yùn)行,并分析各測試用例。</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)開發(fā)的工具</b></p><p> MyEclipse8.6</p><p> MyEclipse 企業(yè)級(jí)工作平臺(tái)(MyEclipse Enterprise Workbench ,簡稱M
35、yEclipse)是對(duì)Eclipse IDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫和J2EE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的J2EE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。在結(jié)構(gòu)上,MyEclipse的特征可以被分為7類:JavaEE模型,WEB開發(fā)工具,EJB開發(fā)工具,應(yīng)用程序
36、服務(wù)器的連接器,JavaEE項(xiàng)目部署服務(wù),數(shù)據(jù)庫服務(wù),MyEclipse整合幫助。</p><p> 對(duì)于以上每一種功能上的類別,在Eclipse中都有相應(yīng)的功能部件,并通過一系列的插件來實(shí)現(xiàn)它們。MyEclipse結(jié)構(gòu)上的這種模塊化,可以讓我們在不影響其他模塊的情況下,對(duì)任一模塊進(jìn)行單獨(dú)的擴(kuò)展和升級(jí)。 </p><p> 簡單而言,MyEclipse是Eclipse的插件,也是一款功
37、能強(qiáng)大的JavaEE集成開發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯(cuò),MyEclipse6.0以前版本需先安裝Eclipse。MyEclipse6.0以后版本安裝時(shí)不需安裝Eclipse。MyEclipse 8.6的主要改進(jìn)是在團(tuán)隊(duì)寫作和集中工作環(huán)境的集中配置管理方面。同時(shí)MyEclipse 8.6還包含了上百個(gè)功能的改進(jìn)和新特性,這些新功能和特性將讓MyEclipse 8.6用戶在開發(fā)代碼,測試,以及部署應(yīng)用方面都得到極大的便利。<
38、;/p><p><b> MySQL 5.1</b></p><p> MySQL是一個(gè)小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。安全性上,MySQL采用十分靈活和安全的權(quán)限和密碼系統(tǒng),允許
39、基于主機(jī)的驗(yàn)證。連接到服務(wù)器時(shí),所有的密碼傳輸均采用加密形式,從而保證了密碼安全。MySQL服務(wù)器提供了對(duì)SQL語句的內(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ū)間:類別、散列、關(guān)鍵及
40、混合模式(即次等區(qū)間,sub-partitioning)。 圖表及索引區(qū)間(Table and Index Partitioning) – MySQL 5.1支援五種不同的平面數(shù)據(jù)區(qū)間:類別、散列、關(guān)鍵及混合模式(即次等區(qū)間,sub-partitioning)。 透過將圖表及索引數(shù)據(jù)區(qū)間,從而使到查詢回應(yīng)時(shí)間更快,因?yàn)橹恍钂呙栌嘘P(guān)的數(shù)據(jù)區(qū)間,毋須掃描整體圖表或索引。 透過將圖表及索引數(shù)據(jù)區(qū)間,從而使查詢回應(yīng)時(shí)間更快,因?yàn)橹恍钂呙栌嘘P(guān)的數(shù)
41、據(jù)區(qū)間,毋須掃描整體圖表或索引。 此外,透過區(qū)間能使不同類型的儲(chǔ)存及其他維護(hù)程序可以更輕易、更快速部署。 此外,透過區(qū)間能使不同類型的儲(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語句(SQL statement) ,至于混合式復(fù)制則可根據(jù)獨(dú)立的SQL運(yùn)行方式,作出以語句或行列為基礎(chǔ)的復(fù)制。這項(xiàng)功能可為應(yīng)用帶來最具效率及最安全的復(fù)制程序。 </p><p> 工序排程– 這個(gè)嶄新工具可讓開發(fā)人員及數(shù)據(jù)庫管理員將日常及持續(xù)進(jìn)行的SQL轉(zhuǎn)為基礎(chǔ)的工序,
43、在數(shù)據(jù)庫伺服器上自動(dòng)執(zhí)行,從而透過在Linux或UNIX的CRON或Microsoft Windows的工序排程軟件,為數(shù)據(jù)庫的特定工序提供更大的支援。 工序排程–這個(gè)嶄新工具可讓開發(fā)人員及數(shù)據(jù)庫管理員將日常及持續(xù)進(jìn)行的SQL轉(zhuǎn)為基礎(chǔ)的工序,在數(shù)據(jù)庫伺服器上自動(dòng)執(zhí)行,從而透過在Linux或UNIX的CRON或Microsoft Windows的工序排程軟件,為數(shù)據(jù)庫的特定工序提供更大的支援。 </p><p>
44、 全新MySQL Query Analyzer – 太陽電腦全新的MySQL Query Analyzer工具為MySQL企業(yè)版用戶而設(shè),可以藉著監(jiān)察查詢的效能表現(xiàn),從而準(zhǔn)確更正SQL編碼問題,顯著提升數(shù)據(jù)庫應(yīng)用的執(zhí)行速度和減少停機(jī)時(shí)間。 全新MySQL Query Analyzer –Sun電腦全新的MySQL Query Analyzer工具為MySQL企業(yè)版用戶而設(shè),可以借著監(jiān)察查詢的效能表現(xiàn),從而準(zhǔn)確更正SQL編碼問題,顯著提升
45、數(shù)據(jù)庫應(yīng)用的執(zhí)行速度和減少停機(jī)時(shí)間。</p><p><b> B/S架構(gòu)編程體系</b></p><p> B/S架構(gòu)的全稱為Browser/Server,即瀏覽器/服務(wù)器結(jié)構(gòu),就是只安裝維護(hù)一個(gè)服務(wù)器(Server),而客戶端采用瀏覽器(Browse)運(yùn)行軟件。B/S結(jié)構(gòu)最大的優(yōu)點(diǎn)就是可以在任何地方進(jìn)行操作而不用安裝任何專門的軟件。只要有一臺(tái)能上網(wǎng)的電腦就能使
46、用,客戶端零維護(hù)。系統(tǒng)的擴(kuò)展性非常容易,只要能上網(wǎng),再由系統(tǒng)管理員分配一個(gè)用戶名和密碼,就可以使用了。B/S結(jié)構(gòu)的程序架構(gòu)是發(fā)展的趨勢,從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)采用三層客戶服務(wù)器結(jié)構(gòu),在數(shù)據(jù)管理層(Server)和用戶界
47、面層(Client)增加了一層結(jié)構(gòu),稱為中間件(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é)客戶機(jī)與服務(wù)器、服務(wù)器與服務(wù)器間的連接和通信;實(shí)現(xiàn)應(yīng)用與數(shù)據(jù)庫的高效連接;提供一個(gè)三層結(jié)構(gòu)應(yīng)用的
48、開發(fā)、運(yùn)行、部署和管理的平臺(tái)。這種三層結(jié)構(gòu)在層與層之間相互獨(dú)立,任何一層的改變不會(huì)影響其它層的功能。</p><p> 在B/S體系結(jié)構(gòu)系統(tǒng)中,用戶通過瀏覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請求,服務(wù)器對(duì)瀏覽器的請求進(jìn)行處理,將用戶所需信息返回到瀏覽器。而其余如數(shù)據(jù)請求、加工、結(jié)果返回以及動(dòng)態(tài)網(wǎng)頁生成、對(duì)數(shù)據(jù)庫的訪問和應(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ù)方便、開發(fā)簡單且共享性強(qiáng)、總體擁有成本低。但數(shù)據(jù)安全性問題、對(duì)服務(wù)器要求過高、數(shù)據(jù)傳輸速度慢、軟件的個(gè)性化特點(diǎn)明顯降低,這些缺點(diǎn)是有目共睹的,難以實(shí)現(xiàn)傳統(tǒng)模式下的特殊功能要求。例如通過瀏覽器進(jìn)行大量的數(shù)據(jù)輸入或進(jìn)行報(bào)表的應(yīng)答、專用性打印輸出
50、都比較困難和不便。此外,實(shí)現(xiàn)復(fù)雜的應(yīng)用構(gòu)造有較大的困難。雖然可以用ActiveX、Java等技術(shù)開發(fā)較為復(fù)雜的應(yīng)用,但是相對(duì)于發(fā)展已非常成熟C/S的一系列應(yīng)用工具來說,這些技術(shù)的開發(fā)復(fù)雜,并沒有完全成熟的技術(shù)工具供使用。</p><p><b> 系統(tǒng)開發(fā)的技術(shù)</b></p><p><b> MVC理論基礎(chǔ)</b></p>
51、<p> MVC架構(gòu)是"Model-View-Controller"的縮寫,中文翻譯為"模型-視圖-控制器"。MVC應(yīng)用程序總是由這三個(gè)部分組成。Event(事件)導(dǎo)致Controller改變Model或View,或者同時(shí)改變兩者。只要Controller改變了Models的數(shù)據(jù)或者屬性,所有依賴的View都會(huì)自動(dòng)更新。類似的,只要Controller改變了View,View會(huì)從潛在的
52、Model中獲取數(shù)據(jù)來刷新自己。</p><p> MVC架構(gòu)是一種架構(gòu),其實(shí)需要其他模式協(xié)作完成。而Struts只實(shí)現(xiàn)了MVC的View和Controller兩個(gè)部分,Model部分需要開發(fā)者自己來實(shí)現(xiàn),Struts2在整合了Struts和webwork后,終于徹底實(shí)現(xiàn)了MVC的架構(gòu)。</p><p> 視圖(View):代表用戶交互界面,對(duì)于Web應(yīng)用來說,可以概括為HTML界面,
53、但有可能為XHTML、XML和Applet。隨著應(yīng)用的復(fù)雜性和規(guī)模性,界面的處理也變得具有挑戰(zhàn)性。一個(gè)應(yīng)用可能有很多不同的視圖,MVC設(shè)計(jì)模式對(duì)于視圖的處理僅限于視圖上數(shù)據(jù)的采集和處理,以及用戶的請求,而不包括在視圖上的業(yè)務(wù)流程的處理。業(yè)務(wù)流程的處理交予模型(Model)處理。比如一個(gè)訂單的視圖只接受來自模型的數(shù)據(jù)并顯示給用戶,以及將用戶界面的輸入數(shù)據(jù)和請求傳遞給控制和模型。 </p><p> 模型(Mode
54、l):就是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的處理過程對(duì)其它層來說是黑箱操作,模型接受視圖請求的數(shù)據(jù),并返回最終的處理結(jié)果。業(yè)務(wù)模型的設(shè)計(jì)可以說是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è)開發(fā)者來說,就可以專注于業(yè)務(wù)模型的
55、設(shè)計(jì)。MVC設(shè)計(jì)模式告訴我們,把應(yīng)用的模型按一定的規(guī)則抽取出來,抽取的層次很重要,這也是判斷開發(fā)人員是否優(yōu)秀的設(shè)計(jì)依據(jù)。抽象與具體不能隔得太遠(yuǎn),也不能太近。MVC并沒有提供模型的設(shè)計(jì)方法,而只告訴你應(yīng)該組織管理這些模型,以便于模型的重構(gòu)和提高重用性。我們可以用對(duì)象編程來做比喻,MVC定義了一個(gè)頂級(jí)類,告訴它的子類只能做這些,但沒法限制能做這些。這點(diǎn)對(duì)編程的開發(fā)人員非常重要。 </p><p> 業(yè)務(wù)模型還有一個(gè)
56、很重要的模型那就是數(shù)據(jù)模型。數(shù)據(jù)模型主要指實(shí)體對(duì)象的數(shù)據(jù) 保存(持續(xù)化)。比如將一張訂單保存到數(shù)據(jù)庫,從數(shù)據(jù)庫獲取訂單。我們可以將這個(gè)模型單獨(dú)列出,所有有關(guān)數(shù)據(jù)庫的操作只限制在該模型中。 </p><p> 控制(Controller)可以理解為從用戶接收請求, 將模型與視圖匹配在一起,共同完成用戶的請求。劃分控制層的作用也很明顯,它清楚地告訴你,它就是一個(gè)分發(fā)器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什
57、么樣的用戶請求。控制層并不做任何的數(shù)據(jù)處理。 </p><p> 模型、視圖與控制器的分離,使得一個(gè)模型可以具有多個(gè)顯示視圖。如果用戶通過某個(gè)視圖的控制器改變了模型的數(shù)據(jù),所有其它依賴于這些數(shù)據(jù)的視圖都應(yīng)反映到這些變化。因此,無論何時(shí)發(fā)生了何種數(shù)據(jù)變化,控制器都會(huì)將變化通知所有的視圖,導(dǎo)致顯示的更新。這實(shí)際上是一種模型的變化-傳播機(jī)制。模型、視圖、控制器三者之間的關(guān)系和各自的主要功能,如圖2-1所示。</
58、p><p> 圖2-1 MVC組件類型的關(guān)系和功能</p><p> Struts2框架技術(shù)</p><p> Struts框架的核心是一個(gè)靈活的控制層,它基于以下標(biāo)準(zhǔn)技術(shù),如:Java Servlet、JavaBean、資源綁定、XML和各種Jakarta Commons包。雖然Struts2號(hào)稱是一個(gè)全新的框架,但這僅僅是相對(duì)Struts1而言。Struts2
59、 與Struts1相比,確實(shí)有很多革命性的改進(jìn),但它并不是新發(fā)布的新框架,而是在另一個(gè)赫赫有名的框架:WebWork基礎(chǔ)上發(fā)展起來的。從某種程度上來講,Struts2沒有繼承Struts1的血統(tǒng),而是繼承WebWork的血統(tǒng)?;蛘哒f,WebWork衍生出了Struts2,而不是Struts1衍生了Struts2。因?yàn)镾truts2是WebWork的升級(jí),而不是一個(gè)全新的框架,因此穩(wěn)定性、性能等各方面都有很好的保證:而且吸收了Struts
60、1和WebWork兩者的優(yōu)勢,因此,是一個(gè)非常值得期待的框架。</p><p> Struts2框架是當(dāng)前Web開發(fā)中最為流行的設(shè)計(jì)和開發(fā)框架,借助于Struts2框架,開發(fā)人員可以把主要精力集中在如何解決實(shí)際業(yè)務(wù)處理上,而不需要在頁面和業(yè)務(wù)代碼之間的處理上花費(fèi)很多時(shí)間。</p><p> Struts2開發(fā)框架遵循MVC設(shè)計(jì)模式,這樣可以將整個(gè)工程分為3個(gè)相對(duì)獨(dú)立而又能協(xié)同工作的組成
61、部分(包括模型、視圖、控制器),開發(fā)人員可以從負(fù)責(zé)的頁面代碼、業(yè)務(wù)代碼和控制流程中具體分工。</p><p> 核心控制器:FilterDispatcher </p><p> FilterDispatcher是Struts2框架的核心控制器,該控制器作為一個(gè)Filter運(yùn)行在Web應(yīng)用中,它負(fù)責(zé)攔截所有的用戶請求,當(dāng)用戶請求到達(dá)時(shí),該Filter會(huì)過濾用戶請求。如果用戶請求以acti
62、on結(jié)尾,該請求將被轉(zhuǎn)入Struts2框架處理。 </p><p> Struts2框架獲得了*.action請求后,將根據(jù)*.action請求的前面部分決定調(diào)用哪個(gè)業(yè)務(wù)邏輯組件,例如,對(duì)于login.action請求,Struts2調(diào)用名為login的Action來處理該請求。</p><p> Struts2應(yīng)用中的Action都被定義在struts.xml文件中,在該文件中定義A
63、ction時(shí),定義了該Action的name屬性和class屬性,其中name屬性決定了該Action處理哪個(gè)用戶請求,而class屬性決定了該Action的實(shí)現(xiàn)類。</p><p> Struts2用于處理用戶請求的Action實(shí)例,并不是用戶實(shí)現(xiàn)的業(yè)務(wù)控制器,而是Action代理;因?yàn)橛脩魧?shí)現(xiàn)的業(yè)務(wù)控制器并沒有與Servlet API耦合,顯然無法處理用戶請求。而Struts2框架提供了系列攔截器,該系列攔
64、截器負(fù)責(zé)將HttpServletRequest請求中的請求參數(shù)解析出來,傳入到Action中,并回調(diào)Action的execute方法來處理用戶請求。</p><p> 用戶實(shí)現(xiàn)的Action類僅僅是Struts2的Action代理的代理目標(biāo)。用戶實(shí)現(xiàn)的業(yè)務(wù)控制器(Action)則包含了對(duì)用戶請求的處理。用戶的請求數(shù)據(jù)包含在HttpServletRequest對(duì)象里,而用戶的Action類無需訪問HttpServ
65、letRequest對(duì)象。攔截器負(fù)責(zé)將HttpServletRequest里的請求數(shù)據(jù)解析出來,并傳給業(yè)務(wù)邏輯組件Action實(shí)例。 </p><p><b> 業(yè)務(wù)控制器 </b></p><p> 業(yè)務(wù)控制器組件就是用戶實(shí)現(xiàn)Action類的實(shí)例,Action類里通常包含了一個(gè)execute方法,該方法返回一個(gè)字符串;該字符串就是一個(gè)邏輯視圖名,當(dāng)業(yè)務(wù)控制器處理
66、完用戶請求后,根據(jù)處理結(jié)果不同,execute方法返回不同字符串;每個(gè)字符串對(duì)應(yīng)一個(gè)視圖名。</p><p> 程序員開發(fā)出系統(tǒng)所需要的業(yè)務(wù)控制器后,還需要配置Struts2的Action,即需要配置Action的如下三個(gè)部分定義:</p><p> 1.Action所處理的URL。 </p><p> 2.Action組件所對(duì)應(yīng)的實(shí)現(xiàn)類。</p>
67、<p> 3.Action里包含的邏輯視圖和物理資源之間的對(duì)應(yīng)關(guān)系。 </p><p> 每個(gè)Action都要處理一個(gè)用戶請求,而用戶請求總是包含了指定URL。當(dāng)Filter Dispatcher攔截到用戶請求后,根據(jù)請求的URL和Action處理URL之間的對(duì)應(yīng)關(guān)系來處理轉(zhuǎn)發(fā)。 </p><p> Struts2的模型組件 </p><p>
68、 實(shí)際上,模型組件已經(jīng)超出了MVC框架的覆蓋范圍。對(duì)于Struts 2框架而言,通常沒有為模型組件的實(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)用模型組件的方法來處理用戶請求。也就是說,業(yè)務(wù)邏輯控制器不會(huì)對(duì)用戶請求進(jìn)行任何實(shí)際處理,用戶請求最終由模型組
69、件負(fù)責(zé)處理。業(yè)務(wù)控制器只是中間負(fù)責(zé)調(diào)度的調(diào)度器,這也是稱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)我們在struts.xml文件中配置Action時(shí),不僅需要指定Action的name屬性和class屬性,還要為Action元素指定系列result子元素,每個(gè)result子元素定義一個(gè)邏輯視圖和物理視圖之間的映射。前面所介紹的應(yīng)用都使用了JSP技術(shù)作為視圖,故配置result子
71、元素時(shí)沒有指定type屬性,默認(rèn)使用JSP作為視圖資源。 </p><p> Struts2的工作流程如圖2-2所示,它顯示了這些組件是如何工作的。</p><p> 圖2-2 Struts2工作流程圖</p><p><b> 本章小結(jié)</b></p><p> 本章主要是完整的介紹一下本系統(tǒng)開發(fā)的相關(guān)工具與技
72、術(shù),包括有:MyEclipse 8.6、MySQL 5.1,B/S 體系架構(gòu),MVC理論和Struts2技術(shù)。將這些開發(fā)工具的特點(diǎn)和優(yōu)勢做了一個(gè)詳細(xì)的描述,便于在系統(tǒng)開發(fā)時(shí)能夠充分利用所具有的特性開發(fā)系統(tǒng),提高系統(tǒng)開發(fā)的工作效率。本郵件管理系統(tǒng)頁面組織和控制流程采用基于MVC設(shè)計(jì)模式的Struts2開發(fā)框架,這使得整個(gè)系統(tǒng)分為前臺(tái)展示、業(yè)務(wù)流程控制和后臺(tái)開發(fā)三個(gè)獨(dú)立的部分。在視圖層,使用了Struts2的標(biāo)簽和html共同完成JSP頁面
73、;業(yè)務(wù)流程和控制轉(zhuǎn)發(fā)采用Struts2框架中的控制器部分進(jìn)行控制。</p><p><b> 系統(tǒng)需求分析</b></p><p><b> 用戶需求</b></p><p><b> 系統(tǒng)功能需求</b></p><p> 登錄管理:包括用戶注冊、登錄和找回密碼。&l
74、t;/p><p> 注冊新用戶:用戶可以通過申請注冊使用。主要是完成收集,存用戶注冊時(shí)填寫的信息。</p><p> 用戶登錄:主要功能用戶登錄的用戶名密碼與數(shù)據(jù)庫中的信息進(jìn)行驗(yàn)證。登錄成功后可以修改個(gè)人密碼,管理員還可以管理用戶信息。</p><p> 郵件收發(fā):包括寫郵件、收郵件、發(fā)送郵件。</p><p> 寫郵件:包含發(fā)送的主題,
75、郵件文本內(nèi)容,可以添加附件。</p><p> 發(fā)送郵件:選擇發(fā)送方式,如發(fā)送或保存;對(duì)非法郵件進(jìn)行攔截。</p><p> 收郵件:獲得新郵件,對(duì)新郵件進(jìn)行過濾分類。</p><p> 郵箱管理:包括收件箱,草稿箱,發(fā)件箱和垃圾箱。</p><p> 收件箱:可以查看郵件,下載郵件的附件,刪除無用的郵件。</p>&l
76、t;p> 草稿箱:用戶可以對(duì)保存的郵件進(jìn)行查看和刪除。</p><p> 發(fā)件箱:用戶可以查看曾發(fā)送的郵件,刪除記錄。</p><p> 垃圾箱:可以選擇徹底刪除垃圾郵件,或者還原郵件。</p><p> 通訊錄模塊:包括建立通訊錄、查看通訊錄和刪除通訊錄。</p><p> 新建通訊錄:主要包括添加聯(lián)系人的基本信息。<
77、/p><p> 查看通訊錄:主要對(duì)聯(lián)系人管理操作,如刪除指定聯(lián)系人。</p><p> 群發(fā)郵件:通過單擊“選擇通訊錄”可以對(duì)指定聯(lián)系人群發(fā)郵件。</p><p><b> 用戶端特性</b></p><p> 將用戶分為兩種類型:管理員、用戶。</p><p> 管理員管理系統(tǒng)中已注冊的用
78、戶和發(fā)郵件;用戶只能進(jìn)行郵件的收發(fā)和管理功能的操作。</p><p><b> 運(yùn)行環(huán)境需求</b></p><p> 用戶對(duì)系統(tǒng)運(yùn)行環(huán)境需求包括軟件、硬件、開發(fā)等方面。</p><p><b> 1)系統(tǒng)軟件要求:</b></p><p> 操作系統(tǒng):Windows xp/vista/wi
79、n7</p><p> 開發(fā)軟件:MyEclipse 8.6</p><p> 數(shù)據(jù)庫:MySQL 5.1</p><p><b> 2)系統(tǒng)硬件要求:</b></p><p><b> 處理器:P4 以上</b></p><p> 內(nèi)存:512MB以上</p
80、><p> 硬盤空間:10G以上</p><p><b> 3)開發(fā)要求:</b></p><p> 開發(fā)工具:MyEclipse 8.6 </p><p><b> 編程語言: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ù)庫的操作也應(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)易操作性:各功能菜單、按鈕簡單,易懂,使用起來上手快。</p
83、><p> 4)可維護(hù)性:數(shù)據(jù)庫和顯示的內(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)和被處理的邏輯過程。以下是本系統(tǒng)按照功能來劃分的數(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è)單一功能可以通過簡單的邏輯表達(dá)式在數(shù)據(jù)字典中予以說明。</p><p> 通過對(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ì)不了解的條目的解釋,數(shù)據(jù)字典的作用也正是在軟件分析和設(shè)計(jì)的過程中給人提供關(guān)于數(shù)據(jù)的描述信息。</p><p> 數(shù)據(jù)流程圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型,沒有數(shù)據(jù)字典,數(shù)據(jù)流圖就不嚴(yán)格。所以為了精確定義每一個(gè)元素,需要數(shù)據(jù)字典來將系統(tǒng)規(guī)格說明。&l
88、t;/p><p><b> 系統(tǒng)中的數(shù)據(jù)流:</b></p><p><b> 表1:用戶注冊</b></p><p><b> 表2:用戶登錄 </b></p><p><b> 表3:修改密碼</b></p><p><
89、;b> 表4:添加聯(lián)系人</b></p><p><b> 表5:用戶管理</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ì)用戶權(quán)限分為兩類:管理員,用戶。普通用戶可以在系統(tǒng)中收發(fā)郵件以及管理郵箱的操作。管理員除了可以收發(fā)郵件的功能操作外,還可以進(jìn)行對(duì)用戶信息進(jìn)行管理功能。</p><p
91、> 管理員的具體操作如下圖:</p><p> 圖3-7 管理員使用系統(tǒng)功能模塊圖</p><p> 用戶的具體操作如下圖:</p><p> 圖3-8 普通用戶使用系統(tǒng)功能模塊圖</p><p><b> 系統(tǒng)模塊設(shè)計(jì)</b></p><p> 通過分析整個(gè)系統(tǒng),將系統(tǒng)的各個(gè)模
92、塊進(jìn)行詳細(xì)的劃分,將每個(gè)模塊細(xì)化出子模塊:</p><p> 圖3-9 系統(tǒng)功能總模塊圖</p><p><b> 系統(tǒng)模塊說明</b></p><p><b> 登錄管理模塊:</b></p><p> 對(duì)用戶身份進(jìn)行驗(yàn)證以及權(quán)限的設(shè)置等。本模塊分三個(gè)子模塊,注冊新用戶模塊的功能是向系統(tǒng)注
93、冊新用戶的基本信息;用戶登錄模塊的功能是使用本系統(tǒng)上注冊的用戶名和密碼登錄;修改密碼模塊的功能是通過先驗(yàn)證用戶原密碼然后修改成新密碼。</p><p><b> 郵件收發(fā)模塊:</b></p><p> 對(duì)用戶的郵件收發(fā)進(jìn)行詳細(xì)的管理。本模塊分為三個(gè)子模塊,寫郵件模塊的功能是用來錄入郵件的內(nèi)容;收郵件模塊的功能是用來接收、過濾并分類郵件信息;發(fā)送郵件模塊的功能包括
94、操作方式(發(fā)送和保存到草稿箱)和存儲(chǔ)郵件。</p><p><b> 郵箱管理模塊:</b></p><p> 是對(duì)郵箱中的郵件信息進(jìn)行詳細(xì)的管理。本模塊分為四個(gè)子模塊,收件箱的功能是用來查看和刪除郵件;發(fā)件箱模塊的功能是用來存儲(chǔ)用戶發(fā)送過的郵件信息;草稿箱模塊的功能是實(shí)現(xiàn)對(duì)保存的郵件進(jìn)行編輯和刪除;垃圾箱模塊的功能是用來存放垃圾郵件和用戶刪除的郵件。</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> 本章從用戶端的需求,分別從用戶需求,數(shù)據(jù)描述,系統(tǒng)的總體設(shè)計(jì)三方面進(jìn)行詳細(xì)分析,對(duì)用戶的需求做了詳細(xì)的描述。第一,從用戶需求分析,進(jìn)行了系統(tǒng)功能的需求分析,用戶端特性分析,運(yùn)行環(huán)境需求的分析,性能需求分析,軟件屬性需求分析。不同方面分析用戶的需求,了解用戶的實(shí)際要求。第二,數(shù)據(jù)描述,通過DFD數(shù)據(jù)流程圖描述了數(shù)據(jù)從輸入到輸出的變化過程,然后設(shè)計(jì)了數(shù)據(jù)字典來對(duì)數(shù)據(jù)流程圖嚴(yán)格化
97、,細(xì)致的解釋各個(gè)名詞只有數(shù)據(jù)流圖和數(shù)據(jù)字典共同在一起才能精確定義共同構(gòu)成系統(tǒng)的規(guī)格說明。兩者相互配合,清楚地表達(dá)數(shù)據(jù)處理的過程。第三,系統(tǒng)的總體設(shè)計(jì),將系統(tǒng)按權(quán)限的每類管理員如何使用的系統(tǒng)用模塊圖來表達(dá)。并畫出系統(tǒng)功能總模塊圖,并對(duì)每一個(gè)模塊進(jìn)行詳細(xì)地說明。</p><p><b> 數(shù)據(jù)庫設(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> 用戶實(shí)體:</b></p><p><b> 圖4-2用戶實(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表(用戶信息表):</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ù)庫的設(shè)計(jì)思路做了綜合描述,根據(jù)郵件系統(tǒng)的上述需求,搭建了相應(yīng)的數(shù)據(jù)庫表
102、,來存儲(chǔ)本系統(tǒng)中所有要用到的信息。本章采用實(shí)體E-R圖來分析描述概念模型。通過各個(gè)實(shí)體間的聯(lián)系來表達(dá)、設(shè)計(jì)數(shù)據(jù)庫,并利用數(shù)據(jù)字典表達(dá)各數(shù)據(jù)流,數(shù)據(jù)庫的設(shè)計(jì)對(duì)系統(tǒng)之后的設(shè)計(jì)與開發(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)過分析、定義、設(shè)計(jì)模塊內(nèi)數(shù)據(jù)結(jié)構(gòu),畫流程圖進(jìn)行分析、對(duì)每個(gè)字段進(jìn)行描述說明后進(jìn)行確定的。所以能夠確保設(shè)計(jì)思路清晰,系統(tǒng)運(yùn)行正常。在經(jīng)過調(diào)研后,了解了郵件用戶的需求,為了適應(yīng)用戶的需求,其中郵件管理模塊和通訊錄管理模塊的設(shè)計(jì)思想均來自于現(xiàn)有郵件網(wǎng)站的操作內(nèi)容。本系統(tǒng)的界面設(shè)計(jì)簡樸,清新,各個(gè)功能按鈕設(shè)計(jì)簡約,能夠使用戶的操作簡單易懂。對(duì)整個(gè)系統(tǒng)模塊設(shè)計(jì)主要是:登錄管理模塊、郵件收發(fā)模塊、郵件管理模塊。每個(gè)模塊
104、都包含子模塊,如下是對(duì)模塊的詳細(xì)設(shè)計(jì)進(jìn)行分析。</p><p> 登錄管理模塊詳細(xì)設(shè)計(jì)</p><p><b> 新用戶注冊設(shè)計(jì)</b></p><p><b> 設(shè)計(jì)思想:</b></p><p> 新用戶注冊的功能顧名思義是用來注冊新的用戶,當(dāng)成為本系統(tǒng)的用戶后才可以使用本系統(tǒng),所以首先
105、新用戶要在本系統(tǒng)注冊合法身份。在新用戶注冊模塊中,填寫的內(nèi)容包括用戶用戶名、密碼、姓名、地址、性別和電話。當(dāng)所有信息填寫完整后,可以點(diǎn)擊“確定”按鈕,系統(tǒng)將提示“注冊成功”并將所輸入的信息保存入數(shù)據(jù)庫user表中。如果輸入的用戶名數(shù)據(jù)庫中已經(jīng)存在,那么系統(tǒng)會(huì)提示“用戶已存在”的提示。用戶需要修改注冊的用戶名。</p><p><b> 該模塊時(shí)序圖:</b></p><
106、p> 圖5-1 注冊模塊時(shí)序圖</p><p><b> 設(shè)計(jì)實(shí)現(xiàn)</b></p><p> 如圖5-2所示即為用戶注冊界面的設(shè)計(jì)結(jié)果,當(dāng)用戶填寫完所需要填寫的信息之后,單擊“注冊”按鈕,即可注冊成功。而用戶在登錄系統(tǒng)之后,會(huì)提供修改個(gè)人密碼的界面,只是不能修改用戶名,修改密碼界面將在后面介紹。</p><p> 圖5-2 新用戶
107、注冊界面</p><p> 用戶注冊的頁面主要包括userReg.jsp,由用戶注冊的界面設(shè)計(jì)中可知,注冊用戶時(shí)主要是需要填寫用戶的基本信息,如用戶名、密碼等,當(dāng)用戶單擊“注冊”按鈕保存填入的數(shù)據(jù)時(shí),頁面需要將這些頁面的表單取出來。在本頁面的處理時(shí),將JSP頁面的提交對(duì)象request作為參數(shù),傳進(jìn)UserAction.java類的方法中,然后進(jìn)行用戶新增。在執(zhí)行添加新用戶之前,需要檢驗(yàn)新輸入的用戶名是否在系統(tǒng)
108、中存在,一旦存在則不允許添加,因?yàn)橛脩裘菢?biāo)志一個(gè)用戶的惟一信息,然后再根據(jù)表user組合INSERT語句,執(zhí)行數(shù)據(jù)庫的新增操作。</p><p> 此圖為新用戶注冊成功后顯示出來的新界面,其內(nèi)容中含有用戶注冊中的一些基本信息。如圖5-3所示。</p><p> 圖5-3 新用戶注冊成功界面</p><p><b> 登錄模塊設(shè)計(jì)</b>
109、</p><p><b> 設(shè)計(jì)思想:</b></p><p> 登錄系統(tǒng)時(shí),要求用戶輸入自己的用戶名名和密碼。如果用戶所輸入的用戶名和密碼正確則直接跳轉(zhuǎn)到郵件管理系統(tǒng)主界面。如果用戶沒有輸入用戶名和密碼,或者用戶名和密碼錯(cuò)誤,則提示登錄失敗的。登錄模塊實(shí)現(xiàn)了用戶登錄的功能。</p><p><b> 該模塊流程圖:</b
110、></p><p> 圖5-4 登錄模塊時(shí)序圖</p><p><b> 3)設(shè)計(jì)實(shí)現(xiàn)</b></p><p> 管理員、用戶登錄的界面中,包括用戶名和密碼得輸入文本框,以及提交登錄按鈕和重寫按鈕。管理員登錄界面如圖5-5所示。</p><p> 圖5-5 管理員登錄界面</p><p&
111、gt; 用戶的登錄,使用的是類TUser.java,UserAction.java等,其中User.java是專門為用戶寫的一個(gè)類,同時(shí)也作為一般用戶的登錄類,該類的主要屬性代碼如下:</p><p><b> TUser類:</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類:</b></p><p> private Integer userId
114、;</p><p> private String userName;</p><p> private String userPw;</p><p> 在執(zhí)行登錄時(shí),頁面email\WebRoot\login.jsp調(diào)用loginService.java文件中的方法對(duì)所填寫的信息進(jìn)行接收,并通過select語句查詢user表或admin表,對(duì)管理員或用戶的登
115、錄信息進(jìn)行驗(yàn)證。</p><p><b> 系統(tǒng)主界面設(shè)計(jì)</b></p><p><b> 設(shè)計(jì)思想:</b></p><p> 將所有模塊放入左邊功能菜單中,按照用戶使用方便的原則分為三個(gè)部分,分別為基本操作,郵件管理和我的草稿箱。將常用的密碼修改和系統(tǒng)屬性放在基本操作部分中;收件箱、發(fā)件箱、垃圾箱、發(fā)郵件和清空
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文——基于jsp的java email郵件系統(tǒng)研發(fā)
- 畢業(yè)設(shè)計(jì)(論文)--基于java的郵件系統(tǒng)
- 基于java電子郵件系統(tǒng)
- 郵件系統(tǒng)畢業(yè)論文(含外文翻譯)
- 畢業(yè)論文——基于jsp的java在線考試系統(tǒng)
- 畢業(yè)論文——基于jsp的java在線考試系統(tǒng)
- 畢業(yè)論文——基于jsp的java在線考試系統(tǒng)
- vb_電子郵件系統(tǒng)畢業(yè)論文
- 基于JAVA的安全WEB電子郵件系統(tǒng).pdf
- 基于Java技術(shù)的郵件系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Java的郵件系統(tǒng)研究與實(shí)現(xiàn).pdf
- bs結(jié)構(gòu)下的郵件系統(tǒng)的設(shè)計(jì)與開發(fā)——畢業(yè)論文
- 畢業(yè)設(shè)計(jì)(論文)電子郵件系統(tǒng)
- 基于struts2技術(shù)的電子郵件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)-畢業(yè)論文
- 畢業(yè)論文---基于jsp的在線畢業(yè)論文管理系統(tǒng)
- 基于java的電子郵件接收系統(tǒng)畢業(yè)論文任務(wù)書(改)
- 畢業(yè)論文---利用java gui和java mail實(shí)現(xiàn)的email客戶端
- 【畢業(yè)學(xué)位論文】(word原稿)jsp,java學(xué)生學(xué)籍管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文基于jsp的畢業(yè)論文管理系統(tǒng)的設(shè)計(jì)
- 基于c的郵件管理系統(tǒng)-畢業(yè)論文
評(píng)論
0/150
提交評(píng)論