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