版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 摘 要</b></p><p> 電子郵件(E-mail)是Internet上使用最廣泛的服務(wù)之一,傳統(tǒng)的Email應(yīng)用模式基于C/S結(jié)構(gòu),即用戶使用客戶端的郵件收發(fā)工具(如Outlook、Fox mail等)與提供郵件服務(wù)的服務(wù)器(如163.net、263.net、371.net)通信,在使用客戶端郵件工具之前,用戶要進(jìn)行一些必要的設(shè)置,如指定郵件服務(wù)器的主
2、機(jī)地址和通信端口等,這些工作對(duì)剛開始上網(wǎng)的用戶會(huì)有一定的困難,如果把E-mail和Web結(jié)合在一起,即通過Web編程和適當(dāng)?shù)南到y(tǒng)設(shè)置,使用戶僅僅以訪問Web的方式就可以得到和使用完整的郵件服務(wù),這樣將極大地方便上網(wǎng)用戶,這種系統(tǒng)稱為Web Mail。Web Mail是目前Internet上最受歡迎的服務(wù)之一,也是很多網(wǎng)站必備功能之一,另外Web Mail同樣也適用于企業(yè)或校園網(wǎng)的應(yīng)用。 </p><p> 此郵
3、箱系統(tǒng)功能主要分為管理員管理和用戶管理兩大部分,管理員管理主要包括管理用戶信息、刪除用戶、管理后臺(tái)系統(tǒng)等;用戶管理主要包括用戶個(gè)人信息的管理、個(gè)人郵箱的管理等。該系統(tǒng)可以根據(jù)需求對(duì)功能進(jìn)行擴(kuò)展和完善。</p><p> 關(guān)鍵詞:電子郵件,郵件服務(wù),Web編程,Web Mail</p><p><b> Abstract</b></p><p&g
4、t; The E-mail is one of the most popular services on Internet, traditional E-mail application mode is based on C/S structure, users use the mail of the customer end to receive and dispatch tools (Such as Outlook, Fox m
5、ail ,etc. ) and server (such as 163 net , 263 net , 371 net ) communication offering mail service, before using the mail tool of customer end, user want , carry on some essential establishment, such as appoint mail host
6、computer address and communication port ,etc. of server, these w</p><p> This mailbox system function is divided into primarily the managing person manages to manage with the customer two big part, managing
7、 person the management includes to manage the customer information, delete the customer and manage the backstage system etc. primarily; The customer management includes management etc. of the management, personal mailbox
8、 of the personal information in customer primarily. </p><p> Key words: The E-mail, Mail service, Web Programming, Web Mail</p><p><b> 目 錄</b></p><p><b> 摘 要I&
9、lt;/b></p><p> AbstractII</p><p><b> 目 錄III</b></p><p><b> 第1章緒 論1</b></p><p><b> 1.1課題背景1</b></p><p> 1.2
10、論文的研究內(nèi)容1</p><p> 1.3軟件的開發(fā)方法2</p><p> 1.4系統(tǒng)開發(fā)環(huán)境的選取4</p><p> 第2章相關(guān)技術(shù)6</p><p><b> 2.1目錄結(jié)構(gòu)6</b></p><p><b> 2.2通用模塊7</b><
11、/p><p> 2.2.1數(shù)據(jù)庫連接池7</p><p> 2.2.2數(shù)據(jù)庫封裝7</p><p> 2.3配置站點(diǎn)與數(shù)據(jù)庫連接8</p><p> 2.4主要工具詳細(xì)介紹9</p><p> 2.4.1 JSP介紹9</p><p> 2.4.2與傳統(tǒng)的CGI方式相比,JSP
12、的優(yōu)點(diǎn)9</p><p> 2.4.3技術(shù)特點(diǎn)10</p><p> 2.4.4 MVC模式設(shè)計(jì)思想介紹11</p><p> 2.4.5關(guān)于Tomcat的安裝和注意事項(xiàng)13</p><p> 第3章功能規(guī)劃及現(xiàn)狀16</p><p> 3.1功能規(guī)劃的主體16</p><p
13、> 3.2郵件系統(tǒng)的國內(nèi)外現(xiàn)狀16</p><p> 第4章系統(tǒng)分析18</p><p> 4.1系統(tǒng)的可行性分析18</p><p> 4.2系統(tǒng)邏輯方案的提出19</p><p> 4.2.1用例圖的分析19</p><p> 4.2.2系統(tǒng)管理員功能21</p>&l
14、t;p> 4.2.3用戶功能22</p><p> 第5章系統(tǒng)設(shè)計(jì)23</p><p> 5.1系統(tǒng)流程圖23</p><p> 5.1.1管理員的系統(tǒng)流程圖23</p><p> 5.1.2用戶的系統(tǒng)流程圖23</p><p> 5.2系統(tǒng)模塊的功能圖24</p><
15、;p> 5.3實(shí)體之間的關(guān)系E-R圖25</p><p> 5.4數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)26</p><p> 5.4.1創(chuàng)建數(shù)據(jù)表27</p><p> 5.4.2系統(tǒng)信息配置表28</p><p> 5.4.3日志表28</p><p> 5.4.4用戶表29</p><p
16、> 5.4.5 friend好友表30</p><p> 5.4.6郵件信息記錄表30</p><p> 5.5數(shù)據(jù)庫的E-R圖31</p><p> 第6章程序設(shè)計(jì)與實(shí)現(xiàn)33</p><p> 6.1管理員登錄模塊設(shè)計(jì)與實(shí)現(xiàn)33</p><p> 6.2管理員用戶管理模塊設(shè)計(jì)與實(shí)現(xiàn)34
17、</p><p> 6.3管理員系統(tǒng)設(shè)置模塊設(shè)計(jì)與實(shí)現(xiàn)37</p><p> 6.4用戶注冊(cè)模塊設(shè)計(jì)與實(shí)現(xiàn)38</p><p> 6.5用戶登錄模塊設(shè)計(jì)與實(shí)現(xiàn)39</p><p> 6.6用戶撰寫發(fā)送郵件模塊設(shè)計(jì)與實(shí)現(xiàn)41</p><p> 6.7用戶收件箱管理模塊設(shè)計(jì)與實(shí)現(xiàn)43</p>
18、<p> 6.8用戶修改個(gè)人資料管理模塊設(shè)計(jì)與實(shí)現(xiàn)45</p><p> 6.9 服務(wù)器端的系統(tǒng)活動(dòng)圖設(shè)計(jì)46</p><p><b> 結(jié) 論48</b></p><p><b> 參考文獻(xiàn)49</b></p><p><b> 致 謝51</b&
19、gt;</p><p> 外文文獻(xiàn)閱讀與翻譯1</p><p><b> 緒 論</b></p><p><b> 1.1課題背景</b></p><p> 電子郵件是介于書信、電話和傳真之間的電子信息傳送方式,它也是互聯(lián)網(wǎng)上最基本的功能之一。隨著互聯(lián)網(wǎng)的進(jìn)一步發(fā)展,電子郵件已經(jīng)成為人們聯(lián)
20、系溝通的重要手段。技術(shù)的革新使得電子郵件系統(tǒng)已經(jīng)演變成一個(gè)相當(dāng)復(fù)雜且功能更為豐富的系統(tǒng),可以傳送聲音、圖片、圖像、文檔等多媒體信息,以至于數(shù)據(jù)庫或帳目報(bào)告等更加專業(yè)化的文件都可以以電子郵件的形式在網(wǎng)上分發(fā)。隨著信息技術(shù)的發(fā)展以及電子郵件系統(tǒng)功能的日益強(qiáng)大,其應(yīng)用領(lǐng)域已得到較大的拓展?;赪eb的Web mail系統(tǒng)應(yīng)用是這些年發(fā)展起來的,網(wǎng)絡(luò)的普及使得它得以廣泛的應(yīng)用。采用開放的Web郵件服務(wù)不僅為用戶省去了維護(hù)與升級(jí)客戶端軟件的麻煩,
21、而且也能夠充分發(fā)揮系統(tǒng)軟硬件資源的作用。Web郵件服務(wù)的另一個(gè)優(yōu)勢(shì)是允許用戶,甚至是持有移動(dòng)設(shè)備的用戶,可以隨時(shí)、隨地的訪問系統(tǒng)并進(jìn)行信息傳遞。</p><p> 1.2論文的研究內(nèi)容</p><p> 在現(xiàn)有的基于WINDOWS平臺(tái)的Send mail郵件服務(wù)器上來架構(gòu)和實(shí)現(xiàn)Web mail是本文主要研究的問題。結(jié)合目前主流的B/S網(wǎng)絡(luò)應(yīng)用模式以及教研室郵件服務(wù)器的擴(kuò)展需求,本文主要
22、研究了基于C/S模式郵件服務(wù)器的開放式Web郵件服務(wù)器集成方案及相關(guān)技術(shù)。</p><p> 隨著新技術(shù)的不斷涌現(xiàn),電子郵件產(chǎn)品越來越多,而且也越來越豐富。在郵件服務(wù)器端有Microsoft Exchange 服務(wù)器、Qmail服務(wù)器、FTPMail服務(wù)器等等。這些服務(wù)器都有相應(yīng)的操作系統(tǒng)支持,而且有的又有很好的跨平臺(tái)性,像Send mail服務(wù)器它在Linux、Unix、FreeBSD都可用。在郵件系統(tǒng)客戶端
23、,其中Microsoft Outlook、Netscape Mail、Fox mail是當(dāng)今電子郵件客戶端軟件的主流產(chǎn)品;另外,隨著網(wǎng)絡(luò)的普及,基于Web的應(yīng)用模式的發(fā)展與應(yīng)用,諸如sina、263以及眾多的企業(yè)都已推出了自己的Web郵件系統(tǒng)。本課題將研究如何使用PHP、POP3、STMP、IMAP等技術(shù)實(shí)現(xiàn)教研室C/S郵件服務(wù)器到Web郵件服務(wù)器的集成。利用JSP,Server2000等實(shí)現(xiàn)其功能,功能主要有郵件的收發(fā)、存儲(chǔ)、刪除等等
24、。</p><p> 1.3軟件的開發(fā)方法</p><p> 面向?qū)ο蟮姆椒ń?jīng)由系統(tǒng)分析、設(shè)計(jì)和試驗(yàn)等幾個(gè)階段,遵從軟件生命周期的規(guī)律。所謂軟件的生命周期是指一個(gè)軟件從它的開發(fā)到其消亡的過程。以下是利用生命周期法開發(fā)軟件的各個(gè)階段的具體內(nèi)容:</p><p> (1)問題定義及可行性論證:其主要任務(wù)是明確軟件開發(fā)的請(qǐng)求,并進(jìn)行初步的調(diào)查,通過可行性研究確定下一
25、階段的實(shí)施??尚行苑治龅娜蝿?wù)是確定項(xiàng)目開發(fā)是否必要和可行。也就是要對(duì)問題定義階段中所提出的問題進(jìn)行分析,以決定所提出的問題是否有“可行”的解。所謂可行,首先在技術(shù)上要可行,即現(xiàn)有技術(shù)能否解決所提出的問題;其次是經(jīng)濟(jì)上可行,即用戶能否支付實(shí)施項(xiàng)目所需要的費(fèi)用,項(xiàng)目建成后能否取得預(yù)期的經(jīng)濟(jì)效益;最后進(jìn)行操作上和法律上的可行性研究。綜合這些方面的論證,最終決定是否實(shí)施該項(xiàng)目。當(dāng)然,這項(xiàng)工作就是建立在初步調(diào)查的基礎(chǔ)上。</p>&
26、lt;p> ?。?)用戶需求分析階段:在這個(gè)階段中,就是了解用戶的需求,準(zhǔn)確的確定用戶需要的功能,明確為了實(shí)現(xiàn)這些功能,需要哪些處理,需要處理什么數(shù)據(jù);需要存儲(chǔ)哪些數(shù)據(jù)文件;得到哪些信息。此外需要找出為了實(shí)現(xiàn)既定功能所需要的約束條件,典型的約束為成本約束和時(shí)間約束。另一個(gè)重要任務(wù)是要規(guī)定系統(tǒng)的生效準(zhǔn)則,規(guī)定在目標(biāo)系統(tǒng)建成后驗(yàn)收目標(biāo)系統(tǒng)的一些原則以及具體的驗(yàn)收方法等。具體工作主要是詳細(xì)調(diào)查,其具體的調(diào)查內(nèi)容包括:分析當(dāng)前各大網(wǎng)站上的
27、郵箱的功能和實(shí)現(xiàn)方法,了解使用者在使用過程中存在的問題和希望使用的功能。</p><p> (3)系統(tǒng)設(shè)計(jì)階段:其任務(wù)是在系統(tǒng)分析的基礎(chǔ)上,按照邏輯模型的要求,科學(xué)合理地進(jìn)行系統(tǒng)的總體設(shè)計(jì)和具體的物理設(shè)計(jì),為下一階段的系統(tǒng)實(shí)施提供必要的技術(shù)資料。具體分為:概要設(shè)計(jì)階段和詳細(xì)設(shè)計(jì)階段。</p><p> 概要設(shè)計(jì)階段:這個(gè)階段中的主要任務(wù)是得到一個(gè)能夠?qū)崿F(xiàn)用戶需求的理想的系統(tǒng)結(jié)構(gòu)。所謂理
28、想的結(jié)構(gòu)指的是:能夠?qū)崿F(xiàn)需求階段中規(guī)定的功能;系統(tǒng)容易設(shè)計(jì)和實(shí)現(xiàn);系統(tǒng)易于維護(hù)。設(shè)計(jì)內(nèi)容包括劃分子系統(tǒng)、設(shè)計(jì)規(guī)范制定、數(shù)據(jù)流程圖設(shè)計(jì)、功能結(jié)構(gòu)圖設(shè)計(jì)、系統(tǒng)物理配置方案設(shè)計(jì)。</p><p> 詳細(xì)設(shè)計(jì)階段:在這個(gè)階段中的任務(wù)是進(jìn)行系統(tǒng)所需要的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和數(shù)據(jù)庫的物理設(shè)計(jì)。輸入輸出設(shè)計(jì)、編寫程序模塊設(shè)計(jì)說明書。</p><p> 系統(tǒng)設(shè)計(jì)工作結(jié)束后,要提交系統(tǒng)設(shè)計(jì)報(bào)告。若系統(tǒng)設(shè)計(jì)被審查
29、批準(zhǔn),整個(gè)系統(tǒng)開發(fā)工作便進(jìn)入系統(tǒng)實(shí)施階段。</p><p> ?。?)系統(tǒng)實(shí)施階段:這是軟件系統(tǒng)的實(shí)現(xiàn)階段,要進(jìn)行模塊編碼和模塊測(cè)試。模塊測(cè)試又稱為單元測(cè)試。模塊編碼要嚴(yán)格按詳細(xì)設(shè)計(jì)階段開發(fā)的模塊邏輯進(jìn)行。模塊程序設(shè)計(jì)完成之后,應(yīng)經(jīng)過嚴(yán)格的測(cè)試。程序測(cè)試應(yīng)該采用科學(xué)的方法。主要是黑盒法和白盒法進(jìn)行測(cè)試,從而盡可能多地發(fā)現(xiàn)模塊中錯(cuò)誤,并加以改正。把經(jīng)過徹底測(cè)試的模塊組裝起來形成需要的應(yīng)用系統(tǒng)。再進(jìn)行集成測(cè)試,采用的
30、是黑盒測(cè)試方法,集成的方法可采用自頂向下集成或自底向上集成,或者二者結(jié)合的方法。</p><p> ?。?)維護(hù)階段:主要包括改正性維護(hù)、適應(yīng)性維護(hù)和完善性維護(hù):改正性維護(hù)是改正程序中所遺漏的錯(cuò)誤,保證用戶程序能正常運(yùn)行;完善性維護(hù)是增加程序的功能以滿足用戶的進(jìn)一步需求;適應(yīng)性維護(hù)是當(dāng)用戶改變硬件或軟件支持環(huán)境時(shí),滿足程序需要的修改工作。維護(hù)階段是一個(gè)非常重要的階段,維護(hù)工作的好壞直接影響到用戶的滿意程度。<
31、;/p><p> 1.4系統(tǒng)開發(fā)環(huán)境的選取</p><p><b> ?。?)硬件環(huán)境:</b></p><p><b> Cpu :P4 </b></p><p><b> 內(nèi)存:512M</b></p><p> 具備 Internet 上網(wǎng)條
32、件。</p><p><b> (2)軟件環(huán)境:</b></p><p> 操作系統(tǒng):Win2000 Professional </p><p> JbuilderX、SQL Server 2000、</p><p> JDKI.4.2、 DREAMWEAVER 、操作系統(tǒng)啟用TCP/IP。</p>
33、<p> ?。?)簡介Jbuilder</p><p> Borland JBuilder是全球第一的跨平臺(tái)Java開發(fā)環(huán)境,可建構(gòu)符合業(yè)界標(biāo)準(zhǔn)的Java應(yīng)用系統(tǒng),開發(fā)EJB、Web、XML以及數(shù)據(jù)庫等各類應(yīng)用程序。經(jīng)由JBuider雙向的、可視化的設(shè)計(jì)工具,您可以快速開發(fā)各種J2EE應(yīng)用程序,并將其部署到多種應(yīng)用程序服務(wù)器上,包括BEA WebLogic、IBM WebSphere、Sun、One
34、、Oracle9i Application Server以及集成于JBuilder的Borland Enterprise Server。</p><p> ?。?)簡介SQL Server 2000</p><p> SQL Server 2000 是Microsoft 公司推出的SQL Server 數(shù)據(jù)庫管理系統(tǒng)的最新版本該版本繼承了SQL Server 7.0 版本的優(yōu)點(diǎn)同時(shí)又比它
35、增加了許多更先進(jìn)的功能具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點(diǎn)可跨越從運(yùn)行Microsoft Windows 98 的膝上型電腦到運(yùn)行Microsoft Windows 2000 的大型多處理器的服務(wù)器等多種平臺(tái)使用。</p><p><b> 相關(guān)技術(shù)</b></p><p> 系統(tǒng)環(huán)境的搭建,最基礎(chǔ)的就是從目錄的建立開始,建立系統(tǒng)的基礎(chǔ)應(yīng)用模塊和站點(diǎn)配
36、置環(huán)境,并進(jìn)行數(shù)據(jù)庫的正常連接。</p><p><b> 2.1目錄結(jié)構(gòu)</b></p><p> 在程序設(shè)計(jì)和開發(fā)之前要設(shè)計(jì)系統(tǒng)的目錄結(jié)構(gòu),一般這個(gè)結(jié)構(gòu)對(duì)任何得B/S系統(tǒng)都是通用的,本系統(tǒng)的目錄結(jié)構(gòu)如圖2.1所示。</p><p><b> 圖2.1 目錄結(jié)構(gòu)</b></p><p>
37、Fig.2.1 The directory structure</p><p> 在該目錄結(jié)構(gòu)中,mail代表本站的根目錄,它包含四個(gè)子目錄:database用于存放數(shù)據(jù)庫備份文件,docs用于存放系統(tǒng)的文檔,jsp和WEB-IN用于存放系統(tǒng)的JSP等的源文件和系統(tǒng)所使用的類包。jsp的根目錄下是一些jsp的源文件,下面所包含四個(gè)子目錄:face用于存放用戶自定義的頭像,INC用于存放一些公用的jsp頁面,js
38、用于存放腳本文件,pic用于存放圖片文件。WEB-INF包含兩個(gè)子目錄:classes用于存放類文件,lib用于存放類包文件,同時(shí)該目錄下還包括站點(diǎn)的配置文件web.xml。</p><p><b> 2.2通用模塊</b></p><p> 該系統(tǒng)采用數(shù)據(jù)庫連接池進(jìn)行數(shù)據(jù)庫的統(tǒng)一管理,同時(shí)在數(shù)據(jù)庫操作上進(jìn)行了封裝,方便程序開發(fā)始于數(shù)據(jù)庫的交互。</p>
39、;<p> 2.2.1數(shù)據(jù)庫連接池</p><p> 在實(shí)現(xiàn)某一個(gè)功能時(shí),首先要連接數(shù)據(jù)庫。如果在每一次需要進(jìn)行數(shù)據(jù)庫操作前都來加載驅(qū)動(dòng)、創(chuàng)建連接,那么在連接的入口參數(shù)處理上將十分零散,不好管理和維護(hù)。一旦系統(tǒng)移植,數(shù)據(jù)庫參數(shù)改變,將需要重新修改所有的連接代碼,重新編譯,這項(xiàng)工作復(fù)雜,是不必要的,也是可以省去的。</p><p> 首先在文件db.properties配
40、置數(shù)據(jù)庫連接參數(shù),這些參數(shù)包括數(shù)據(jù)庫的驅(qū)動(dòng)、連接通信、用戶名、密碼。這樣,在數(shù)據(jù)庫移植或系統(tǒng)環(huán)境改變時(shí),只需修改這一個(gè)地方就可以了,十分方便。</p><p> drivers=com.microsoft.jdbc.sqlserver.SQLServerDriver</p><p> logfile=C:\\log.txt</p><p> mysql.url
41、=jdbc:microsoft:sqlserver://Neu029:1433;DatabaseName=bbs</p><p> mysql.maxconn=1000</p><p> mysql.user=mail</p><p> mysql.password=mail</p><p> 此系統(tǒng)采用了類DBConnectionM
42、anager來統(tǒng)一管理數(shù)據(jù)庫的連接。具體代碼參見DBConnectionManager.java文件。</p><p> 2.2.2數(shù)據(jù)庫封裝</p><p> 數(shù)據(jù)庫已經(jīng)連接,在每一次需要進(jìn)行數(shù)據(jù)庫的某種操作時(shí),調(diào)用JDBC的函數(shù)就可以了,但是直接調(diào)用JDBC函數(shù)將使代碼的編寫工作十分浪費(fèi),該系統(tǒng)封裝了數(shù)據(jù)庫操作的類DBConnect,具體代碼參見DBConnect.java。<
43、;/p><p> 該類封裝了數(shù)據(jù)庫操作的基本函數(shù),用于作為JavaBean的父類,便于統(tǒng)一管理。該類的一個(gè)重要作用是從連接池里取得一個(gè)連接,在使用結(jié)束時(shí)關(guān)閉連接。統(tǒng)一處理了很多額外的工作和異常的拋出。</p><p> 2.3配置站點(diǎn)與數(shù)據(jù)庫連接</p><p> ?。?)安裝JDK1.4.0</p><p> 下載JDK1.4.0版本安裝
44、程序,連續(xù)單擊“下一步”按鈕,安裝過程中均采用默認(rèn)選擇,直至安裝結(jié)束。安裝結(jié)束后,在桌面“我的電腦”圖表上右擊,在談出的快捷菜單中選擇“屬性”命令,彈出“系統(tǒng)特性”對(duì)話框,在“高級(jí)”選項(xiàng)卡中單擊“環(huán)境變量”按鈕,在彈出的對(duì)話框中新建環(huán)境變量JAVA_HOME,值為C:\j2sdk1.4.0。</p><p> (2)安裝Tomcat 5.0</p><p> 連續(xù)單擊“下一步”按鈕,直
45、至安裝結(jié)束,在選擇安裝路徑時(shí)推薦安裝在根目錄,如:C:\Tomcat 5.0。 </p><p> 設(shè)置環(huán)境變量:在“我的電腦”屬性中設(shè)置環(huán)境變兩位TOMCAT_HOME=C:\Tomcat。</p><p> 建立站點(diǎn):將整個(gè)文件目錄mail復(fù)制到Tomcat 5.0下的webapps文件夾下。</p><p><b> ?。?)訪問系統(tǒng)</b
46、></p><p> 啟動(dòng)SQLServer,Tomcat,輸入地址:</p><p> http://localhost:[8080]/mail/jsp/login.jsp即可訪問,用戶admin,密碼初始化為test。</p><p> 至此,軟件環(huán)境安裝完成。</p><p> 2.4主要工具詳細(xì)介紹</p>
47、<p> 2.4.1 JSP介紹</p><p> JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn),其網(wǎng)址為http://www.javasoft.com/products/jsp。在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm *.html)中加入Java程序片斷(Scriptlet)和JSP標(biāo)記(tag),就構(gòu)成了JS
48、P網(wǎng)頁(*.jsp)。Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請(qǐng)求時(shí),首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以HTML格式返回給客戶。程序片段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送Email等等,這就是建立動(dòng)態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務(wù)器端執(zhí)行,網(wǎng)絡(luò)上傳送給客戶端的僅是得到的結(jié)果,對(duì)客戶瀏覽器的要求最低,可以實(shí)現(xiàn)無Plugin,無ActiveX,無Java Applet,甚至無Frame。</p><p>
49、 JSP提供了一種簡單快速的建立基于動(dòng)態(tài)內(nèi)容顯示的站點(diǎn)的技術(shù)。在JSP文件中可以包含HTML標(biāo)記、NCSA標(biāo)記、Servlet標(biāo)記和JSP語法,使得HTML的編碼從Web頁面的業(yè)務(wù)邏輯中有效地分離出來。</p><p> 2.4.2與傳統(tǒng)的CGI方式相比,JSP的優(yōu)點(diǎn)</p><p> ?。?)后臺(tái)實(shí)現(xiàn)邏輯是基于Java Component 的,具有跨平臺(tái)的特點(diǎn)。</p>
50、<p> ?。?)將應(yīng)用邏輯與頁面表現(xiàn)分離,使得應(yīng)用邏輯能夠最大程度得到復(fù)用,從而提高開發(fā)效率。</p><p> ?。?)運(yùn)行比CGI方式高,尤其對(duì)于數(shù)據(jù)庫訪問,提供了連接池緩沖機(jī)制,使運(yùn)行所需資源最小。</p><p> ?。?)安全,由于后臺(tái)是完全基于Java技術(shù)的,安全性由Java的安全機(jī)制予以保障。</p><p> ?。?)由于與ASP很相似,
51、不需要太多的編程知識(shí)就可以動(dòng)手編寫JSP。</p><p> (6)內(nèi)置支持XML,使用XML從而使頁面具有更強(qiáng)的表現(xiàn)力和減少編程工作量。</p><p><b> 2.4.3技術(shù)特點(diǎn)</b></p><p> ?。?)將內(nèi)容的生成和顯示進(jìn)行分離。使用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來設(shè)計(jì)和格式化最終頁面。使用J
52、SP標(biāo)識(shí)或者小腳本來生成頁面上的動(dòng)態(tài)內(nèi)容。生成內(nèi)容的邏輯被封裝在標(biāo)識(shí)和JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務(wù)器端運(yùn)行。如果核心邏輯被封裝在標(biāo)識(shí)和Beans中,那么其他人,如Web管理人員和頁面設(shè)計(jì)者,能夠編程和使用JSP頁面,而不影響內(nèi)容的生成。</p><p> 在服務(wù)器端,JSP引擎解釋JSP標(biāo)識(shí)和小腳本,生成所請(qǐng)求的內(nèi)容(例如,通過訪問JavaBeans組件,使用JDBCTM技術(shù)訪
53、問數(shù)據(jù)庫,或者包含文件),并且將結(jié)果以HTML(或者XML)頁面的形式發(fā)送回瀏覽器。這有助于作者保護(hù)自己的代碼,而又保證任何基于HTML的Web瀏覽器的完全可用性。</p><p> ?。?)強(qiáng)調(diào)可重用的組件。絕大多數(shù)JSP頁面依賴于可重用的,跨平臺(tái)的組件(JavaBeans或者Enterprise JavaBeansTM組件)來執(zhí)行應(yīng)用程序所要求的更為復(fù)雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使
54、得這些組件為更多的使用者或者客戶團(tuán)體所使用?;诮M件的方法加速了總體開發(fā)過程,并且使得各種組織在他們現(xiàn)有的技術(shù)和優(yōu)化結(jié)果的開發(fā)努力中得到平衡。</p><p> ?。?)采用標(biāo)識(shí)簡化頁面開發(fā)。Web頁面開發(fā)人員不會(huì)都是很熟悉腳本語言的程序員。JavaServer Page 技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標(biāo)識(shí)中進(jìn)行動(dòng)態(tài)內(nèi)容生成 需要的。標(biāo)準(zhǔn)的JSP標(biāo)識(shí)能夠訪問和實(shí)例化JavaBeans
55、組件,設(shè)置或者檢索組件屬性,下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時(shí)的功能。通過開發(fā)定制化標(biāo)準(zhǔn)庫,JSP技術(shù)好似可以擴(kuò)展的。今后,第三方開發(fā)人員和其他人員可以為常用功能創(chuàng)建自己的標(biāo)識(shí)庫。這使得Web頁面開發(fā)人員能夠使用熟悉的工具和如同標(biāo)識(shí)一樣的執(zhí)行特定功能的構(gòu)件來工作。</p><p> JSP技術(shù)很容易整合到多種應(yīng)用體系結(jié)構(gòu)中,以利用現(xiàn)存的工具和技巧,并且擴(kuò)展到能夠支持企業(yè)級(jí)的分布式應(yīng)用。作為采用
56、Java技術(shù)家族的一部分,以及Java 2(企業(yè)版體系結(jié)構(gòu))的一個(gè)組成部分,JSP技術(shù)能夠支持高度復(fù)雜的基于Web的應(yīng)用。</p><p> 由于JSP頁面的內(nèi)置腳本語言是基于Java編程語言的,而且所有的JSP頁面都被編譯成Java Servlet,JSP頁面就具有Java技術(shù)的所有好處,包括健壯的存儲(chǔ)管理和安全性。 </p><p> 作為Java平臺(tái)的一部分,JSP擁有J
57、ava編程語言“一次編寫,各處運(yùn)行”的特點(diǎn)。隨著越來越多的供應(yīng)商將JSP支持添加到他們的產(chǎn)品中,你可以使用自己所選擇的服務(wù)器和工具,更改工具或服務(wù)器并不影響當(dāng)前的應(yīng)用。</p><p> 2.4.4 MVC模式設(shè)計(jì)思想介紹</p><p> MVC英文即Model-View-Controller,即把一個(gè)應(yīng)用的輸入、處理、輸出流程按照Model、View、Controller的方式進(jìn)行
58、分離,這樣一個(gè)應(yīng)用被分成三個(gè)層——模型層、視圖層、控制層。 視圖(View)代表用戶交互界面,對(duì)于Web應(yīng)用來說,可以概括為HTML界面,但有可能為XHTML、XML和Applet。隨著應(yīng)用的復(fù)雜性和規(guī)模性,界面的處理也變得具有挑戰(zhàn)性。一個(gè)應(yīng)用可能有很多不同的視圖,MVC設(shè)計(jì)模式對(duì)于視圖的處理僅限于視圖上數(shù)據(jù)的采集和處理,以及用戶的請(qǐng)求,而不包括在視圖上的業(yè)務(wù)流程的處理。業(yè)務(wù)流程的處理交予模型(Model)處理。比如一個(gè)訂單的視圖只接受
59、來自模型的數(shù)據(jù)并顯示給用戶,以及將用戶界面的輸入數(shù)據(jù)和請(qǐng)求傳遞給控制和模型。 模型(Model):就是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的處理過程對(duì)其它層來說是黑箱操作,模型接受視圖請(qǐng)求的數(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ì)模型的框</p>&
60、lt;p> 如圖2.2 MVC組件類型的關(guān)系和功能</p><p> Fig2.2 MVC module type relation with function.</p><p> 2.4.5關(guān)于Tomcat的安裝和注意事項(xiàng)</p><p> ?。?)通過安裝JBulider9來安裝Tomcat</p><p> 直接安裝JBu
61、lider9,安裝過程中會(huì)給出JVM(Java虛擬機(jī))的安裝路徑,一般為JBulider9\jdk1.4。</p><p> 再安裝Tomcat,安裝過程中會(huì)詢問系統(tǒng)中已有JVM的安裝路徑,安裝程序?qū)?huì)自動(dòng)定位JVM的位置。</p><p> 最好重新啟動(dòng)一遍計(jì)算機(jī)。</p><p> 不必配置諸如Classpath、path、Java Home等系統(tǒng)環(huán)境變量
62、。</p><p> 正常啟動(dòng)Tomcat即可。</p><p> ?。?)直接安裝Tomcat</p><p> 安裝JDK1.4,安裝完畢后,按程序要求重新啟動(dòng)計(jì)算機(jī)。</p><p> 安裝Tomcat,安裝過程中會(huì)詢問系統(tǒng)中已有JVM的安裝路徑,安裝程序?qū)?huì)自動(dòng)定位JVM的位置。</p><p> 需要
63、將JDK1.4安裝路徑下的lib文件夾中的tools.jar文件拷貝到TomCat5.0\common\lib文件下,并且只有在Tomcat關(guān)閉條件下,更新才有效。</p><p><b> 重新啟動(dòng)計(jì)算機(jī)。</b></p><p> 不必配置諸如Class path、path、Java Home等系統(tǒng)環(huán)境變量。</p><p> 正常啟
64、動(dòng)Tomcat即可。</p><p><b> ?。?)注意事項(xiàng) </b></p><p> Tomcat對(duì)文件名(包括路徑和后綴)的大小寫是敏感的。</p><p> Tomcat的默認(rèn)網(wǎng)站根路徑為TomCat5.0\Webapps\Root</p><p> 在編寫jsp文件時(shí),應(yīng)特別注意其文件命名(包括存放路
65、徑)時(shí)最好不要大小寫混用,應(yīng)統(tǒng)一為小寫,養(yǎng)成良好編程習(xí)慣。</p><p> ?。?)如何獲得Tomcat的錯(cuò)誤提示信息</p><p> Tomcat運(yùn)行時(shí),會(huì)在任務(wù)欄右下角中出現(xiàn)類似MSSQLSERVER的圖標(biāo),雙擊即可得到錯(cuò)誤提示信息列表窗口。 </p><p><b> 功能規(guī)劃及現(xiàn)狀</b></p><p>
66、; 3.1功能規(guī)劃的主體</p><p> 凡事預(yù)則立,不預(yù)則廢。科學(xué)的規(guī)劃對(duì)于任何需要經(jīng)過較長時(shí)間努力才能實(shí)現(xiàn)的事情都是非常重要的。</p><p> 規(guī)劃,一般是指對(duì)較長時(shí)期的活動(dòng)進(jìn)行總體的、全面的計(jì)劃。做好計(jì)劃是非常重要的環(huán)節(jié)。比如說郵件的開發(fā)系統(tǒng),它是一個(gè)功能很多的系統(tǒng),我就必須做好規(guī)劃。主要在進(jìn)入郵箱后功能方面規(guī)劃,有收郵件、發(fā)郵件、寫郵件、通訊錄、回郵件、草稿箱、垃圾箱和
67、轉(zhuǎn)發(fā);在登陸郵箱界面上還有注冊(cè)、注冊(cè)用戶列表、管理員登陸和退出郵箱等幾個(gè)功能。還有其它一些基本的小功能都實(shí)現(xiàn)在各個(gè)主要功能的內(nèi)部,比如說對(duì)于郵件箱內(nèi)的郵件的刪除等一些功能,這些都必須在開發(fā)前做好規(guī)劃??傊浖_發(fā)中,往往缺乏科學(xué)的、有效的系統(tǒng)規(guī)劃。一定要盡量避免這些缺點(diǎn)。</p><p> 3.2郵件系統(tǒng)的國內(nèi)外現(xiàn)狀</p><p> 隨著互聯(lián)網(wǎng)的普及,國內(nèi)外的互聯(lián)網(wǎng)用戶數(shù)呈指數(shù)增長
68、。為滿足不斷增長的信息交流需要,作為因特網(wǎng)第一應(yīng)用的電子郵件系統(tǒng)變得越來越重要。隨著網(wǎng)絡(luò)環(huán)境的建設(shè)與完善,許多用戶已經(jīng)提出這樣的要求:擁有自己的Web郵件系統(tǒng)。國外的電子郵件系統(tǒng)可真叫四通八達(dá),這種手段已經(jīng)成為他們通信最流行的幾種方式之一了。相比較國內(nèi),電子郵件系統(tǒng)還不算太完善,電子郵件通信的方式還不算太流行,如何才能把這種方式大眾化、流行化呢?這還需要我們?nèi)フJ(rèn)識(shí)它、了解它、使用它。</p><p> 國外已經(jīng)
69、有了許許多多的電子郵件系統(tǒng),國內(nèi)也有一些這樣的系統(tǒng),我覺得這些還不夠充實(shí)這個(gè)龐大的流行團(tuán)體,所以我自己要開發(fā)一個(gè)簡單的屬于我自己的電子郵件系統(tǒng),來滿足我及其他用戶的需要。</p><p><b> 系統(tǒng)分析</b></p><p> 4.1系統(tǒng)的可行性分析</p><p> 可行性研究是以相對(duì)短的時(shí)間和相對(duì)低的成本來確定給定的問題是否有解
70、。這里相對(duì)短和相對(duì)低是指和實(shí)現(xiàn)建議系統(tǒng)所需時(shí)間和成本相比較而言??尚行匝芯恐饕獜南率?個(gè)方面進(jìn)行研究:技術(shù)可行性、經(jīng)濟(jì)可行性、操作可行性和調(diào)度可行性。</p><p> (1)技術(shù)可行性:技術(shù)可行性的考慮集中在現(xiàn)存的計(jì)算機(jī)硬件能否支持被研究的系統(tǒng),首先關(guān)心的是該組織是否有相應(yīng)的軟件和硬件能夠支持處理建議的應(yīng)用程序。其次考慮在規(guī)定平臺(tái)之上,利用現(xiàn)有的成熟技術(shù)是否能夠?qū)崿F(xiàn)這個(gè)應(yīng)用?,F(xiàn)代計(jì)算機(jī)硬、軟件技術(shù)的飛速發(fā)展,
71、為系統(tǒng)建設(shè)提供了技術(shù)條件。計(jì)算機(jī)等基礎(chǔ)設(shè)施的更新?lián)Q代也緊跟潮流的發(fā)展,這就為開發(fā)系統(tǒng)提供了堅(jiān)實(shí)基礎(chǔ)。</p><p> ?。?)經(jīng)濟(jì)可行性:這是經(jīng)典的并且是最常使用的評(píng)價(jià)計(jì)算機(jī)系統(tǒng)的方法。這個(gè)評(píng)價(jià)的結(jié)果稱為成本/效益分析。簡單地說,經(jīng)濟(jì)可行性研究是確定得自新系統(tǒng)的節(jié)省和利益,將這些利益和系統(tǒng)的實(shí)現(xiàn)成本相比較,如果利益超過成本,則開發(fā)新系統(tǒng)的決策是肯定的;否則的話,除非有其他特殊原因,這個(gè)決策將是否定的。本軟件的實(shí)
72、現(xiàn)是作為考核學(xué)生學(xué)習(xí)情況的手段,不存在經(jīng)濟(jì)可行性的問題。</p><p> ?。?)操作可行性:是指人員的手工操作而不是指計(jì)算機(jī)系統(tǒng)操作是否可行,也就是說在實(shí)現(xiàn)了建議的計(jì)算機(jī)系統(tǒng)后,所需要的配合的手工操作是否可行。作為新時(shí)代的學(xué)生,幾乎人人都具備計(jì)算機(jī)的基本操作能力,而本軟件的使用又十分簡單方便,所以具備操作可行性。</p><p> ?。?)調(diào)度可行性:指的是建議的計(jì)算機(jī)系統(tǒng)能否在規(guī)定的
73、期限內(nèi)交付給用戶?;诒拒浖?jīng)過上述的分析,可以在規(guī)定的期限內(nèi)完成。</p><p> 從當(dāng)前情況來看,本軟件的開發(fā)是可行的。</p><p> 4.2系統(tǒng)邏輯方案的提出</p><p> 在問題定義階段對(duì)建議的功能、規(guī)模和約束條件等已經(jīng)作了規(guī)定。在可行性研究階段通過和使用者的交流,對(duì)用戶的需求有了初步的了解。因此在這個(gè)階段中,設(shè)計(jì)者應(yīng)該進(jìn)一步澄清問題定義中
74、的模糊部分,更正錯(cuò)誤部分。通過這個(gè)活動(dòng),清楚地描述系統(tǒng)的主要功能。</p><p> 4.2.1用例圖的分析</p><p><b> ?。?)用例的內(nèi)容:</b></p><p> 用例圖使我們對(duì)系統(tǒng)的功能有了一個(gè)整體的認(rèn)知,我們可以知道有哪些參與者會(huì)與系統(tǒng)發(fā)生交互,每一個(gè)參與者需要系統(tǒng)為它提供什么樣的服務(wù)。</p><
75、;p><b> ?。?)用例的優(yōu)點(diǎn):</b></p><p> 用例方法完全是站在用戶的角度上(從系統(tǒng)的外部)來描述系統(tǒng)的功能的。在用例方法中,我們把被定義系統(tǒng)看作是一個(gè)黑箱,我們并不關(guān)心系統(tǒng)內(nèi)部是如何完成它所提供的功能的。用例方法首先描述了被定義系統(tǒng)有哪些外部使用者(抽象成為Actor),這些使用者與被定義系統(tǒng)發(fā)生交互;針對(duì)每一參與者,用例方法又描述了系統(tǒng)為這些參與者提供了什么樣的
76、服務(wù)(抽象成為Use Case),或者說系統(tǒng)是如何被這些參與者使用的。所以從用例圖中,我們可以得到對(duì)于被定義系統(tǒng)的一個(gè)總體印象。 </p><p> 與傳統(tǒng)的功能分解方式相比,用例方法完全是從外部來定義系統(tǒng)的功能,它把需求與設(shè)計(jì)完全分離開來。在面向?qū)ο蟮姆治鲈O(shè)計(jì)方法中,用例模型主要用于表述系統(tǒng)的功能性需求,系統(tǒng)的設(shè)計(jì)主要由對(duì)象模型來記錄表述。另外,用例定義了系統(tǒng)功能的使用環(huán)境與上下文,每一個(gè)用例描述的是一個(gè)完整
77、的系統(tǒng)服務(wù)。</p><p> (3)確定本系統(tǒng)功能的用戶用例圖,如圖4.1。</p><p> 新用戶登陸本系統(tǒng):注冊(cè)用戶; 已經(jīng)注冊(cè)的用戶:直接輸入用戶名和密碼登陸系統(tǒng); 登陸成功:進(jìn)入郵箱,其中具有收發(fā)郵件、寫郵件、刪除郵件等功能; 操作系統(tǒng)完成:可以退出本系統(tǒng)。</p><p> ?。?)確定本系統(tǒng)功能的管理員用例圖,如圖4.2。</p>
78、<p> 返回管理員登陸界面; 管理用戶信息; 安排系統(tǒng)設(shè)置;</p><p><b> 退出管理員系統(tǒng)。</b></p><p> 圖4.1 系統(tǒng)用戶的用例圖.</p><p> Fig4.1 Example picture of the using of systematic users of Fig.</p>
79、<p> 圖4.2 系統(tǒng)管理員的用例圖.</p><p> Fig4.2 Example picture of the using of system manager</p><p> 4.2.2系統(tǒng)管理員功能</p><p> ?。?)管理員登錄:系統(tǒng)初始化好系統(tǒng)管理員,管理員能夠通過該入口進(jìn)入后臺(tái)進(jìn)行管理操作。</p><
80、p> ?。?)管理員管理注冊(cè)用戶:管理員可以對(duì)系統(tǒng)的注冊(cè)用戶進(jìn)行管理,查詢系統(tǒng)中的注冊(cè)用戶,直接添加用戶,對(duì)于違規(guī)用戶可以刪除,以及查看某注冊(cè)用戶的詳細(xì)注冊(cè)信息和列為好友。</p><p> ?。?)管理員系統(tǒng)設(shè)置:系統(tǒng)一般有一些初始化信息,比如系統(tǒng)名稱、系統(tǒng)的URL、主業(yè)名稱、主頁的URL、系統(tǒng)管理員E-mail、系統(tǒng)Logo通信、有新郵件提示等,管理員可以在后臺(tái)界面自行設(shè)置。</p>&l
81、t;p> ?。?)用戶注冊(cè):網(wǎng)絡(luò)用戶均能夠注冊(cè)。注冊(cè)的用戶信息包括注冊(cè)名、性別、密碼、確認(rèn)密碼(以便保證用戶兩次輸入的密碼都一樣)、電子郵件、QICQ號(hào)碼等。其中注冊(cè)名、性別、密碼和電子郵件是必添項(xiàng),并且用戶名不能重復(fù)。</p><p><b> 4.2.3用戶功能</b></p><p> (1)用戶登錄:系統(tǒng)注冊(cè)用戶使用自己注冊(cè)的用戶名登錄系統(tǒng),進(jìn)行郵件
82、的管理和個(gè)人注冊(cè)信息的管理。其中郵件的管理又包括收件箱、垃圾箱、草稿箱、發(fā)件箱、通信薄等的管理。</p><p> ?。?)撰寫發(fā)送郵件:填寫收件人、標(biāo)題和收件內(nèi)容后,可以給發(fā)件人發(fā)送郵件。</p><p> ?。?)收件箱管理:顯示用戶所有收到的郵件列表,可以查看郵件的詳細(xì)內(nèi)容,可以選中所要?jiǎng)h除的郵件進(jìn)行刪除或者刪除收件箱中所有郵件,所刪除的郵件被轉(zhuǎn)移到垃圾箱。</p>&
83、lt;p> ?。?)垃圾箱管理:顯示用戶從收件箱中刪除的所有郵件列表,可以查看郵件的詳細(xì)內(nèi)容,可以選中所要?jiǎng)h除的郵件進(jìn)行刪除或者刪除垃圾箱中所有郵件,所刪除的郵件則被徹底地刪除。</p><p> ?。?)草稿箱管理:顯示用戶所有保存的準(zhǔn)備發(fā)送的郵件列表,可以查看郵件的詳細(xì)內(nèi)容并且進(jìn)行修改,可以選中所要?jiǎng)h除的郵件進(jìn)行刪除或者刪除草稿箱中所有郵件。</p><p> ?。?)發(fā)件箱管理
84、:顯示用戶發(fā)送的所有郵件列表,可以查看郵件的詳細(xì)內(nèi)容,可以選中所要?jiǎng)h除的郵件進(jìn)行刪除或者刪除所有已發(fā)郵件。</p><p> ?。?)通信薄的管理:顯示所有好友列表,可以添加好友,可以選中所要?jiǎng)h除記錄進(jìn)行刪除或者刪除所有好友,可以查看個(gè)人詳細(xì)信息,可以選中其中的好友發(fā)送郵件。</p><p><b> 系統(tǒng)設(shè)計(jì)</b></p><p><
85、;b> 5.1系統(tǒng)流程圖</b></p><p> 系統(tǒng)流程圖又叫事務(wù)流程圖,是在計(jì)算機(jī)事務(wù)處理應(yīng)用進(jìn)行系統(tǒng)分析時(shí)常用的一種描述方法(另一個(gè)是數(shù)據(jù)流圖),它描述了計(jì)算機(jī)事務(wù)處理中從數(shù)據(jù)輸入開始到獲得輸出為止,各個(gè)處理工序的邏輯過程。</p><p> 5.1.1管理員的系統(tǒng)流程圖</p><p> 首先管理員要系統(tǒng)參數(shù)設(shè)置和管理,當(dāng)用戶注冊(cè)
86、成為系統(tǒng)用戶之后,管理員在進(jìn)行對(duì)用戶的管理工作,流程如下圖5.1所示。</p><p> 圖5.1 系統(tǒng)流程圖-管理員</p><p> Fig.5.1 Systematic flow diagram - administrator</p><p> 5.1.2用戶的系統(tǒng)流程圖</p><p> 沒有身份的用戶需要先注冊(cè),登錄系統(tǒng)后可
87、以查看和修改個(gè)人信息、發(fā)送郵件等郵件管理操作。如下圖5.2所示。</p><p> 圖5.2 系統(tǒng)流程圖-注冊(cè)用戶</p><p> Fig.5.2 Systematic flow diagram - registered user</p><p> 5.2系統(tǒng)模塊的功能圖</p><p> 通過系統(tǒng)模塊的功能圖描述,可以很直觀的看到
88、系統(tǒng)的各個(gè)功能組件,功能圖如下圖5.3所示。</p><p> 此模塊的功能圖是從整個(gè)系統(tǒng)出發(fā),描繪出來的。其中介紹了管理員各個(gè)功能和基本用戶的功能等等。用模塊的功能圖描繪整個(gè)系統(tǒng),使系統(tǒng)各個(gè)功能清晰可見,層次分明,是一種比較好的方法。</p><p> 圖5.3 模塊的功能圖</p><p> Fig.5.3 Functional diagram of th
89、e module</p><p> 5.3實(shí)體之間的關(guān)系E-R圖</p><p> 在此郵件系統(tǒng)中的實(shí)體有管理員信息實(shí)體、用戶信息實(shí)體、郵件實(shí)體、系統(tǒng)配置信息實(shí)體。</p><p> 實(shí)體之間的關(guān)系E-R圖如下圖5.4所示。</p><p> 圖5.4 實(shí)體之間的關(guān)系E-R圖</p><p> Fig.5.4
90、 Relation E-R picture between the entities</p><p> 5.4數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)</p><p> 在郵件服務(wù)器系統(tǒng)的數(shù)據(jù)庫設(shè)計(jì)中,首先要?jiǎng)?chuàng)建系統(tǒng)數(shù)據(jù)庫,然后在數(shù)據(jù)庫中創(chuàng)建需要的表和字段。</p><p> 數(shù)據(jù)庫設(shè)計(jì)是系統(tǒng)設(shè)計(jì)中非常重要的一個(gè)環(huán)節(jié),因?yàn)閿?shù)據(jù)庫設(shè)計(jì)就像在建設(shè)高樓大廈的根基一樣,如果設(shè)計(jì)不好,在后來的系
91、統(tǒng)維護(hù)、變更和功能擴(kuò)充時(shí),甚至于在系統(tǒng)開發(fā)過程中,都將會(huì)引起比較大的問題,有時(shí)大量的工作將會(huì)重新進(jìn)行。</p><p> 考慮到將來功能上的擴(kuò)展,設(shè)計(jì)如下所示的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):</p><p> 用戶信息:包括數(shù)據(jù)項(xiàng),有用戶名、密碼等。</p><p> 郵件信息:包括數(shù)據(jù)項(xiàng),有發(fā)件人、收件人、主題、內(nèi)容、發(fā)送時(shí)間等。</p><p>
92、; 系統(tǒng)配置信息:包括數(shù)據(jù)項(xiàng),有系統(tǒng)名稱、系統(tǒng)說明、系統(tǒng)通信等。</p><p> 基于上面的設(shè)計(jì),在設(shè)計(jì)系統(tǒng)中的各表,表與表之間相互關(guān)聯(lián),共同存儲(chǔ)著系統(tǒng)所需要的數(shù)據(jù)。在設(shè)計(jì)數(shù)據(jù)庫表的過程中,一般要遵循幾條原則,用數(shù)據(jù)庫設(shè)計(jì)一個(gè)表最好只存儲(chǔ)一個(gè)實(shí)體或?qū)ο蟮南嚓P(guān)信息,不同的實(shí)體最好存儲(chǔ)在不同的數(shù)據(jù)表中,如果實(shí)體還可以再劃分,實(shí)體的劃分原則是最好能夠比當(dāng)前系統(tǒng)要開發(fā)的實(shí)體的復(fù)雜度小;數(shù)據(jù)表的信息結(jié)構(gòu)一定要合適,標(biāo)
93、的字段的數(shù)量一般不要過多;擴(kuò)充信息和動(dòng)態(tài)變化的信息一定要分開在不同的表里;多對(duì)多這樣的表關(guān)系盡量不要出現(xiàn)等。</p><p> 5.4.1創(chuàng)建數(shù)據(jù)表</p><p> 在創(chuàng)建表與視圖之前,首先要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)庫,步驟如下:</p><p> 啟動(dòng)SQLServer服務(wù)管理器,啟動(dòng)服務(wù)。</p><p> 進(jìn)入企業(yè)管理器,建立數(shù)據(jù)庫bbs
94、。</p><p> 進(jìn)入新建數(shù)據(jù)庫的用戶選項(xiàng),右擊“建立用戶”命令,輸入用戶名mail,密碼mail,選擇該用戶的權(quán)限為public,do_owner。</p><p> 本系統(tǒng)各個(gè)表的設(shè)計(jì)結(jié)果如表5.5所示。</p><p><b> 表5.5數(shù)據(jù)庫表</b></p><p> Tab 5.5 Databas
95、e form</p><p> 5.4.2系統(tǒng)信息配置表</p><p> 系統(tǒng)信息配置表如表5.6所示,該表對(duì)系統(tǒng)的某些信息進(jìn)行配置,如系統(tǒng)URL通信、公司名稱、主頁URL通信、E-mail、適應(yīng)時(shí)間、圖片通信等。進(jìn)行這些設(shè)置是為了盡可能最大地利用有限的資源,同時(shí)更有效地管理系統(tǒng),對(duì)使用該系統(tǒng)的用戶量的信息也有一個(gè)很好的紀(jì)錄。利用這個(gè)表,對(duì)系統(tǒng)的某些信息進(jìn)行配置,使這些信息更加的清晰
96、、使用也方便。</p><p> 表5.6 config 系統(tǒng)配置表</p><p> Tab 5.6 System allocation table</p><p><b> 5.4.3日志表</b></p><p> 表5.7是日志表記錄本系統(tǒng)的用戶訪問信息。l_id即“日志編號(hào)”是系統(tǒng)為其分配的唯一標(biāo)識(shí)符;
97、l_username是使用此系統(tǒng)的用戶名;l_content是系統(tǒng)日志的一個(gè)主要內(nèi)容記錄;l_url記錄了用戶訪問得系統(tǒng)的通信;l_addtime是此條日志生成的時(shí)間。這部分內(nèi)容是給系統(tǒng)預(yù)留的接口,使得有擴(kuò)展的功能。</p><p><b> 表5.7 日志表</b></p><p> Tab 5.7 Daily record form</p>&l
98、t;p><b> 5.4.4用戶表</b></p><p> 表5.8是用戶表,該表包含了用戶的基本且必要的信息,其中UserID是“用戶編號(hào)”,是系統(tǒng)為用戶分配的唯一標(biāo)識(shí)符,它在整個(gè)用戶表存儲(chǔ)的數(shù)據(jù)里是互不相同的,而且在系統(tǒng)的許多其它表里也要用到它;用戶名和密碼也是必需的,作為用戶登錄的入口,其中用戶名也要求是唯一的。</p><p><b>
99、 表5.8 用戶表</b></p><p> Tab 5.8 Customer form</p><p> 注:此表只列出基本信息,常用的未作分析,例如:用戶年齡段、用戶生日、用戶學(xué)歷、所在城市等,而用戶年齡段和用戶學(xué)歷可以用來對(duì)用戶群體進(jìn)行分析,以便確定系統(tǒng)的使用群體。</p><p> 5.4.5 friend好友表</p>&l
100、t;p> 表5.9是friend好友表,該表用于記錄用戶加入到通信薄中的用戶,方便用戶給好友發(fā)送郵件。</p><p><b> 表5.9 好友表</b></p><p> Tab 5.9 Good friend form</p><p> 5.4.6郵件信息記錄表</p><p> 表5.10是郵件信息
101、記錄表,記錄系統(tǒng)用戶所發(fā)送的所有郵件。</p><p> 表5.10郵件信息記錄表</p><p> Tab 5.10 Mail information record of table</p><p> 至此,個(gè)個(gè)數(shù)據(jù)表的結(jié)構(gòu)全部設(shè)計(jì)完成,即定義好郵件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu),用于存儲(chǔ)郵件系統(tǒng)中的各項(xiàng)數(shù)據(jù)。</p><p> 5.5數(shù)據(jù)庫的E-
102、R圖</p><p> 本系統(tǒng)根據(jù)上面的設(shè)計(jì)規(guī)劃出的實(shí)體包括用戶信息實(shí)體(MyUser)、郵件數(shù)據(jù)實(shí)體(message)、系統(tǒng)配置信息實(shí)體(config)、好友實(shí)體(friend)等。通過對(duì)實(shí)體聯(lián)系的分析,在本系統(tǒng)中使用PowerDesigner設(shè)計(jì)E-R模型。PowerDesigner的概念數(shù)據(jù)模型(CDM)把現(xiàn)實(shí)的信息簡化為實(shí)體與實(shí)體之間的聯(lián)系,它與DBMS無關(guān)。CDM的建立是一個(gè)比較復(fù)雜的過程,實(shí)體關(guān)系圖
103、的分析結(jié)果也非常復(fù)雜,一般情況下使用自底向上的方法,首先對(duì)局部視圖進(jìn)行分析設(shè)計(jì),然后再實(shí)現(xiàn)視圖集成。這里不再對(duì)局部視圖進(jìn)行設(shè)計(jì),直接給出視圖集成后的E-R圖,如圖5.11所示。</p><p> 圖5.11 簡易郵件系統(tǒng)數(shù)據(jù)庫E-R圖</p><p> Fig. 5.11 Systematic database E-R picture of simple and easy mail&l
104、t;/p><p> 使用用戶信息進(jìn)行用戶基本信息的管理,以及登錄系統(tǒng)時(shí)用戶名、密碼和權(quán)限的設(shè)定;在設(shè)計(jì)時(shí),充分考慮了用戶使用郵件系統(tǒng)收發(fā)郵件的便捷性。其實(shí),以上E-R圖只是簡易郵件系統(tǒng)最基本元素的實(shí)體關(guān)系圖,讀者可以在此基礎(chǔ)上根據(jù)用戶的不同需要進(jìn)行擴(kuò)展。</p><p><b> 程序設(shè)計(jì)與實(shí)現(xiàn)</b></p><p> 有系統(tǒng)設(shè)計(jì)可知本系統(tǒng)
105、的設(shè)計(jì)共分為如下兩大部分:</p><p> (1)管理模塊用于管理員對(duì)注冊(cè)用戶管理和系統(tǒng)設(shè)置管理,它包括:</p><p><b> 管理員登錄界面;</b></p><p> 用戶管理:列表、搜索、查看、增加、刪除;</p><p> 系統(tǒng)設(shè)置管理:查看、修改。</p><p> (
106、2)用戶模塊:用于用戶進(jìn)行郵件管理,它包括:</p><p> 注冊(cè):注冊(cè)、修改個(gè)人信息;</p><p><b> 登錄:登錄;</b></p><p> 撰寫發(fā)送郵件:發(fā)送郵件;</p><p> 收件箱管理:列表、查看、刪除、清空收件箱;</p><p> 垃圾箱管理:列表、查看、
107、刪除、清空垃圾箱;</p><p> 草稿箱管理:列表、查看、刪除、清空草稿箱;</p><p> 發(fā)件箱管理:列表、查看、刪除、清空發(fā)件箱;</p><p> 通信薄管理:列表、查看、刪除、清空通信薄、添加好友、發(fā)送郵件。</p><p> 根據(jù)這些整體關(guān)系的設(shè)計(jì)下面對(duì)每一個(gè)部分給出主界面的設(shè)計(jì)及其設(shè)計(jì)思路。</p>
108、<p> 6.1管理員登錄模塊設(shè)計(jì)與實(shí)現(xiàn)</p><p> 管理員用戶登錄的界面中,包括用戶名和密碼得輸入文本框,以及提交登錄按鈕和重寫按鈕。管理員登錄界面如圖6.1所示。</p><p> 圖6.1管理員登錄界面</p><p> Fig6.1 The login interface for administrator</p>&l
109、t;p> 管理員的登錄,使用的是類User.java,SkinUtil.java等,其中User.java是專門為用戶寫的一個(gè)類,同時(shí)也作為一般用戶的登錄類,該類代碼如下:</p><p><b> //登錄參數(shù)</b></p><p> private String username;//登錄用戶名</p><p> priv
110、ate String password;//登錄密碼</p><p> private int userClass;//管理級(jí)別,用來判斷是否管理員登錄</p><p> 在執(zhí)行登錄時(shí),頁面mail\jsp\elogin.jsp調(diào)用類文件中的函數(shù)所填寫的信息進(jìn)行處理,然后對(duì)登錄管理員進(jìn)行驗(yàn)證。</p><p> 6.2管理員用戶管理模塊設(shè)計(jì)與實(shí)現(xiàn)</
111、p><p> 管理員登錄后,首要的功能是對(duì)系統(tǒng)用戶和系統(tǒng)參數(shù)的管理。管理員的管理主頁面上具有進(jìn)入用戶管理和系統(tǒng)參數(shù)設(shè)置管理的入口。當(dāng)管理員進(jìn)行管理操作之后,要退出管理界面,則要退出管理的出口。設(shè)計(jì)結(jié)果如圖6.2所示。</p><p> 圖6.2管理員登錄主界面</p><p> Fig6.2 The interface after login for admini
112、strator</p><p> 圖6.2所示即為管理員登錄后的管理首頁,單擊左邊的“返回管理首頁”鏈接返回到管理首頁,單擊“注冊(cè)用戶管理”鏈接可以進(jìn)行用戶管理,單擊“系統(tǒng)設(shè)置”鏈接可以進(jìn)行系統(tǒng)參數(shù)設(shè)置管理,單擊“退出管理”鏈接可以退出管理界面。</p><p> 用戶的信息需要由系統(tǒng)管理員來進(jìn)行管理和維護(hù)。為此,設(shè)計(jì)了用戶列表的界面,該界面中需要包括如下的信息:用戶的ID號(hào)(數(shù)據(jù)庫表
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- vb_電子郵件系統(tǒng)畢業(yè)論文
- 郵件快速分揀系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文(含外文翻譯)
- 畢業(yè)論文——基于jsp的java email郵件系統(tǒng)研發(fā)
- 畢業(yè)設(shè)計(jì)(論文)電子郵件系統(tǒng)
- 基于jsp的java_email郵件系統(tǒng)研發(fā)畢業(yè)論文
- 在線考試系統(tǒng)畢業(yè)論文(含外文翻譯)
- 管道監(jiān)測(cè)系統(tǒng)畢業(yè)論文(含外文翻譯)
- bs結(jié)構(gòu)下的郵件系統(tǒng)的設(shè)計(jì)與開發(fā)——畢業(yè)論文
- cancan總線系統(tǒng)設(shè)計(jì)畢業(yè)論文(含外文翻譯)
- flash畢業(yè)論文(含外文翻譯)
- 畢業(yè)設(shè)計(jì)(論文)--基于java的郵件系統(tǒng)
- 網(wǎng)上選課系統(tǒng)畢業(yè)論文(含外文翻譯)
- 電子點(diǎn)菜系統(tǒng)畢業(yè)論文(含外文翻譯)
- 網(wǎng)上花店管理系統(tǒng)畢業(yè)論文(含外文翻譯)
- 學(xué)生信息查詢系統(tǒng)畢業(yè)論文(含外文翻譯)
- 汽車銷售管理系統(tǒng)畢業(yè)論文(含外文翻譯)
- 人事管理系統(tǒng)畢業(yè)論文(含外文翻譯)
- 物流專業(yè)畢業(yè)論文(含外文翻譯)
- 礦井通風(fēng)畢業(yè)論文(含外文翻譯)
- 網(wǎng)上成績查詢系統(tǒng)畢業(yè)論文(含外文翻譯)
評(píng)論
0/150
提交評(píng)論