郵件收發(fā)系統(tǒng)畢業(yè)設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩64頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  xx大學(xué)畢業(yè)論文</b></p><p>  題 目: 郵件接發(fā)及自動(dòng)彈出系統(tǒng)</p><p>  學(xué) 院: 信息工程學(xué)院 </p><p>  專 業(yè): 軟件工程 </p><p>  學(xué) 號(hào): </p>

2、<p>  姓 名: xx </p><p>  指導(dǎo)教師: xx </p><p>  完成日期: 2012年5月 </p><p>  畢業(yè)論文(設(shè)計(jì))任務(wù)書</p><p>  論文(設(shè)計(jì))題目: 郵件收發(fā)及自動(dòng)彈出系統(tǒng)

3、 </p><p>  學(xué)號(hào): 2008551012 姓名: xx 專業(yè): 軟件工程 </p><p>  指導(dǎo)教師: 系主任: xx </p><p>  一、主要內(nèi)容及基本要求</p&

4、gt;<p>  主要內(nèi)容: </p><p> ?。?)能夠?qū)崿F(xiàn)已注冊(cè)使用的郵箱帳號(hào)登錄; </p><p>  (2)能夠在線接收郵件并保存在收信箱;

5、 </p><p> ?。?)能夠在線發(fā)送郵件并保存在已發(fā)送信箱; </p><p> ?。?)能夠查看收信箱已發(fā)送信箱的郵件列表并查看單個(gè)郵件內(nèi)容; </p><p&g

6、t; ?。?)能夠添加常用聯(lián)系人目錄; </p><p> ?。?)能夠時(shí)時(shí)監(jiān)控新郵件的達(dá)到并發(fā)出提示。 </p><p>  基本要求:

7、 </p><p>  (1)能夠滿足日常接發(fā)郵件的要求; </p><p> ?。?)能夠及時(shí)的提醒用戶新郵件的到達(dá),彈出提示;

8、 </p><p>  (3)能夠通過該系統(tǒng)登錄主流類型的郵箱帳號(hào)。 </p><p><b>  二、重點(diǎn)研究的問題</b></p><p>  (1)郵箱的連接;

9、 </p><p>  (2)郵件的接發(fā); </p><p>  (3)新郵件的監(jiān)控; </p>

10、;<p>  (4)彈出提示的觸發(fā); </p><p>  (5)郵件的讀取。 </p><p><b>  三、進(jìn)度安排</b><

11、;/p><p>  四、應(yīng)收集的資料及主要參考文獻(xiàn) </p><p>  1.(美)埃史爾 .Java編程思想(第4版)[M]. 機(jī)械工業(yè)出版社.2007:15-34

12、 </p><p>  2.Liang, Y.D.. Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)篇[M].機(jī)械工業(yè)出版社,2006:11-156 </p><p>  3.劉曉華. 精通Java核心技術(shù)[M].電子工業(yè)出版社,2003:69-289

13、 </p><p>  4.龔正虎. 現(xiàn)代TCP/IP網(wǎng)絡(luò)原理與技術(shù)[M]. 北京:國(guó)防工業(yè)出版社,2002:16-35 </p>

14、<p>  5.殷肖川. 網(wǎng)絡(luò)編程與開發(fā)技術(shù)[M]. 西安:西安交通大學(xué)出版社,2003:19-145 </p><p>  6.]W.Richard Stevens. TCP/IP詳解 卷1:協(xié)議[M]. 機(jī)械工業(yè)出版社.2000:45-89

15、 </p><p>  7.胡安廷. 簡(jiǎn)單實(shí)現(xiàn)中文郵件.中國(guó)計(jì)算機(jī)報(bào)[J].2004,11(自然科技版) </p><

16、;p>  8.Paul C.Jorgensen.Software Testing A Craftsman’s Approach(second Edition)[M].China Machine Press,2003,170-175 </p><p>  9.潘泰國(guó)

17、. 新一代電子郵件系統(tǒng).電子技術(shù)應(yīng)用[J].2009.7(第四版) </p><p>  10. Herbert Schildt. Java參考大全[M]北京:清華大學(xué)出版社,2006.1:1-257

18、 </p><p><b>  xx 大 學(xué)</b></p><p>  畢業(yè)論文(設(shè)計(jì))評(píng)閱表</p><p>  學(xué)號(hào) 姓名 xx 專業(yè) 軟件工程 </p><p>  畢業(yè)論文(設(shè)計(jì))題目: 郵

19、件收發(fā)及自動(dòng)彈出系統(tǒng) </p><p><b>  目錄 </b></p><p><b>  摘要1</b></p><p>  Abstract2</p><p><b>  第一章 緒論3</b></p><p>  1.1 課題

20、背景3</p><p>  1.2 研究現(xiàn)況3</p><p>  1.3 本文所做工作與系統(tǒng)概述4</p><p>  1.3.1 系統(tǒng)概述4</p><p>  1.3.2 本文工作5</p><p><b>  1.4 小結(jié)5</b></p><p&

21、gt;  第二章TCP/IP 網(wǎng)絡(luò)編程簡(jiǎn)介6</p><p>  2.1 TCP/IP協(xié)議6</p><p>  2.1.1 TCP/IP協(xié)議簡(jiǎn)介6</p><p>  2.1.2 TCP/IP協(xié)議層次概述6</p><p>  2.1.3 TCP/IP協(xié)議的工作原理6</p><p>  2.1.4

22、 TCP/IP協(xié)議的優(yōu)點(diǎn)7</p><p>  2.1.5 TCP/IP協(xié)議的缺點(diǎn)7</p><p>  2.1.6 TCP/IP協(xié)議的未來發(fā)展趨向7</p><p>  2.2 Windows Sockets網(wǎng)絡(luò)編程8</p><p>  2.2.1 WindowsSockets 簡(jiǎn)介8</p><p

23、>  2.2.2 套接字的兩種主要形式9</p><p>  2.2.3 Windows Sockets網(wǎng)絡(luò)編程9</p><p>  2.2.4 Winsock的主要函數(shù)及其應(yīng)用10</p><p>  2.3 本章小結(jié)11</p><p>  第三章 系統(tǒng)運(yùn)行環(huán)境12</p><p>  3

24、.1 運(yùn)行平臺(tái)12</p><p>  3.1.1 硬件平臺(tái)12</p><p>  3.1.2 軟件平臺(tái)12</p><p>  3.2 運(yùn)行環(huán)境的配置12</p><p>  3.2.1 POP3和STMP簡(jiǎn)介12</p><p>  3.2.2 安裝POP3/SMTP服務(wù)12</p&

25、gt;<p>  3.2.3 配置POP3/SMTP服務(wù)13</p><p>  3.3 構(gòu)建郵件系統(tǒng)的準(zhǔn)備工作15</p><p>  3.3.1 操作系統(tǒng)和服務(wù)器軟件的選擇15</p><p>  3.3.2編程語(yǔ)言和編程環(huán)境的選擇16</p><p>  3.4本章小結(jié)20</p><

26、;p>  第四章 郵件接發(fā)與桌面自動(dòng)彈出系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)22</p><p>  4.1 系統(tǒng)概述22</p><p>  4.2 主要模塊介紹23</p><p>  4.2.1 帳號(hào)管理23</p><p>  4.2.2 郵件管理24</p><p>  4.2.3 彈出窗口管理

27、28</p><p>  4.3 系統(tǒng)詳細(xì)設(shè)計(jì)28</p><p>  4.3.1 收件箱模塊的詳細(xì)設(shè)計(jì)28</p><p>  4.3.2 寫郵件模塊的詳細(xì)設(shè)計(jì)30</p><p>  4.3.3 讀郵件模塊的詳細(xì)設(shè)計(jì)31</p><p>  4.4 系統(tǒng)測(cè)試32</p><p

28、>  4.4.1 同一SMTP服務(wù)器發(fā)送郵件的測(cè)試32</p><p>  4.4.2 同一服務(wù)器,發(fā)送一封純文本郵件的測(cè)試32</p><p>  4.4.3 同一服務(wù)器,發(fā)送一封帶附件的郵件的測(cè)試33</p><p>  4.4.4 利用不同的SMTP服務(wù)器發(fā)送郵件的測(cè)試33</p><p>  4.4.5 同一服

29、務(wù)器,接收一封純文本郵件的測(cè)試33</p><p>  4.4.6 同一服務(wù)器,接收一封帶附件的郵件的測(cè)試34</p><p>  4.5 本章小結(jié)34</p><p>  第五章 核心代碼解析35</p><p>  5.1 郵件的檢測(cè)35</p><p>  5.2 郵件附件的下載37</

30、p><p>  5.3 本章小結(jié)39</p><p><b>  總結(jié)與展望40</b></p><p><b>  參考文獻(xiàn)41</b></p><p><b>  附錄43</b></p><p><b>  致謝59</b&

31、gt;</p><p>  郵件接發(fā)及自動(dòng)彈出系統(tǒng)</p><p>  摘要:電子郵件(簡(jiǎn)稱E-mai1)又稱電子信箱、電子郵政,它是—種用電子手段提供信息交換的通信方式。它是全球多種網(wǎng)絡(luò)上使用最普遍的一項(xiàng)服務(wù)。這種非交互式的通信,加速了信息的交流及數(shù)據(jù)傳送,它是—個(gè)簡(jiǎn)易、快速的方法。通過連接全世界的Internet,實(shí)現(xiàn)各類信號(hào)的傳送、接收、存貯等處理,將郵件送到世界的各個(gè)角落。到目前為

32、止,可以說電子郵件是Internet資源使用最多的一種服務(wù),E-mai1不只局限于信件的傳遞,還可用來傳遞文件、聲音及圖形、圖像等不同類型的信息。</p><p>  電子郵件不是一種“終端到終端”的服務(wù),是被稱為“存貯轉(zhuǎn)發(fā)式”服務(wù)。這正是子信箱系統(tǒng)的核心,利用存貯轉(zhuǎn)發(fā)可進(jìn)行非實(shí)時(shí)通信,屬異步通信方式。即信件發(fā)送者可隨時(shí)隨地發(fā)送郵件,不要求接收者同時(shí)在場(chǎng),即使對(duì)方現(xiàn)在不在,仍可將郵件立刻送到對(duì)方的信箱內(nèi),且存儲(chǔ)在

33、對(duì)方的電子郵箱中。接收者可在他認(rèn)為方便的時(shí)候讀取信件,不受時(shí)空限制。在這里,“發(fā)送”郵件意味著將郵件放到收件人的信箱中,而“接收”郵件則意味著從自己的信箱中讀取信件,信箱實(shí)際上是由文件管理系統(tǒng)支持的—個(gè)實(shí)體。因?yàn)殡娮余]件是通過郵件服務(wù)器(mai1 server)來傳遞檔的。通常mail server是執(zhí)行多任務(wù)操作系統(tǒng)UNIX的計(jì)算機(jī),它提供24小時(shí)的電子郵件服務(wù),用戶只要向 mail server管理人員申請(qǐng)—個(gè)信箱賬號(hào),就可使用這項(xiàng)

34、快速的郵件服務(wù)。</p><p>  郵件的便利早就了它飛速的發(fā)展,如今的人們大多都會(huì)有自己的郵箱,有的甚至有好幾個(gè),然而快節(jié)奏的生活,使人們往往不能及時(shí)的查閱郵箱的內(nèi)容,耽誤了日常行程。本畢業(yè)設(shè)計(jì)致力設(shè)計(jì)和實(shí)現(xiàn)一種郵件客戶端,可以收發(fā)郵件和彈出新郵件的提示。</p><p>  本文主要分析了郵件客戶端軟件的基本要求,再結(jié)合畢業(yè)設(shè)計(jì)的需求和自身的能力水平,設(shè)計(jì)了自己的軟件流程并規(guī)劃了3個(gè)

35、基本模塊:帳號(hào)管理,郵件管理以及彈出提示系統(tǒng)的管理,并對(duì)收郵件,發(fā)郵件,寫郵件三個(gè)核心功能的實(shí)現(xiàn)進(jìn)行了詳細(xì)介紹。通過代碼編程和最終的軟件測(cè)試基本完成了預(yù)期要求實(shí)現(xiàn)了郵件的接發(fā)和新郵件的提醒。</p><p>  關(guān)鍵詞:電子郵件;郵件接發(fā);郵件客戶端 ;彈出提醒; </p><p>  Mail server and automatic popup system</p>&l

36、t;p>  Abstract:E-mail (referred to as E-mai1), also known as e-mail, e-post, it is - the exchange of information by electronic means of communication. It is the most widely used one in the global multi-network service

37、s. This non-interactive communication, accelerate the exchange of information and data transfer, it is - a simple, rapid method. Various types of signal transmission through the Internet connection around the world, rece

38、iving, storage, processing, e-mail sent to the corners of the world. </p><p>  The convenience of the early mail it and rapid development, now most people can have his mailbox, some even have several, howeve

39、r the fast pace of life, people often can't timely access to the content of the mailbox, delayed the daily schedule. Graduation design is committed to the design and implementation of a mail client, can email and the

40、 pop-up new mail tips.</p><p>  This paper mainly analyzes the mail client software basic requirement, and combine the graduate design demand and its own ability level, design their own software process and

41、planning the three basic module: account management, email management and activated suggest system management, and to get the mail, email, write to the realization of the function of the three core described in detail. T

42、hrough the code programming and final software testing has basically completed realized the mail is expec</p><p>  Keywords: Email; Mail server; Mail client ; Pop-up remind ;</p><p><b>  第

43、一章 緒論</b></p><p><b>  1.1課題背景</b></p><p>  隨著改革開放的深入發(fā)展,社會(huì)主義市場(chǎng)經(jīng)濟(jì)的建立,信息化時(shí)代的步伐不斷加快。根據(jù)最新公布的2006-2020國(guó)家信息化發(fā)展戰(zhàn)略,信息化是充分利用信息技術(shù),開發(fā)利用信息資源,促進(jìn)信息交流和知識(shí)共享,提高經(jīng)濟(jì)增長(zhǎng)質(zhì)量,推動(dòng)經(jīng)濟(jì)社會(huì)發(fā)展轉(zhuǎn)型的歷史進(jìn)程[26]。</p

44、><p>  電子郵件是當(dāng)前信息化時(shí)代中不可缺少的重要通信手段。電子郵件是—種用電子手段提供信息交換的通信方式,是Internet應(yīng)用最廣的服務(wù):通過網(wǎng)絡(luò)的電子郵件系統(tǒng),用戶可以用非常低廉的價(jià)格(不管發(fā)送到哪里,都只需負(fù)擔(dān)電話費(fèi)和網(wǎng)費(fèi)即可),以非??焖俚姆绞剑◣酌腌娭畠?nèi)可以發(fā)送到世界上任何你指定的目的地),與世界上任何一個(gè)角落的網(wǎng)絡(luò)用戶聯(lián)系,這些電子郵件可以是文字、圖像、聲音等各種方式。同時(shí),用戶可以得到大量免費(fèi)的新

45、聞、專題郵件,并實(shí)現(xiàn)輕松的信息搜索。這是任何傳統(tǒng)的方式也無法相比的。正是由于電子郵件的使用簡(jiǎn)易、投遞迅速、收費(fèi)低廉,易于保存、全球暢通無阻,使得電子郵件被廣泛地應(yīng)用,它使人們的交流方式得到了極大的改變。電子郵件綜合了電話通信和郵政信件的特點(diǎn),它傳送信息的速度和電話一樣快,又能象信件一樣使收信者在接收端收到文字記錄。電子郵件系統(tǒng)又稱基于計(jì)算機(jī)的郵件報(bào)文系統(tǒng)。它承擔(dān)從郵件進(jìn)入系統(tǒng)到郵件到達(dá)目的地為止的全部處理過程。電子郵件不僅可利用電話網(wǎng)絡(luò)

46、,而且可利用任何通信網(wǎng)傳送。在利用電話網(wǎng)絡(luò)時(shí),還可利用其非高峰期間傳送信息,這對(duì)于商業(yè)郵件具有特殊價(jià)值。由中央計(jì)算機(jī)和小型計(jì)算機(jī)控制的面向有限用戶的電子系</p><p>  最重要的是,電子郵件是整個(gè)網(wǎng)間網(wǎng),以至所有其他網(wǎng)絡(luò)系統(tǒng)中直接面向人與人之間信息交流的系統(tǒng),它的數(shù)據(jù)發(fā)送方和接收方都是人,所以極大地滿足了大量存在的人與人通信的需求[2]。在高度信息化的今天,靈活和便捷地使用電子郵件,對(duì)提高工作效率、貫徹國(guó)家

47、信息化發(fā)展戰(zhàn)略意義重大</p><p><b>  1.2 研究現(xiàn)況</b></p><p>  經(jīng)過在網(wǎng)上的查找,發(fā)現(xiàn)有關(guān)于電子郵件的收發(fā)管理系統(tǒng)有:</p><p>  “Windows Live Mail Desktop”,它將桌面軟件的功能性與基于 Web 的電子郵件的靈活性結(jié)合在一起,輕松接收新聞組和 RSS 源,在脫機(jī)狀態(tài)下撰寫、

48、刪除及管理電子郵件;即時(shí)添加關(guān)于任何信息的 Windows Live Spaces 網(wǎng)絡(luò)日志項(xiàng) 與 Windows Live Messenger 聯(lián)系人保持密切聯(lián)系,也可以創(chuàng)建并編輯照片電子郵件[3];</p><p>  “KooMail” 它支持分割發(fā)送大郵件并且接收后自動(dòng)合并,對(duì)分割發(fā)送的郵件支持?jǐn)帱c(diǎn)續(xù)傳,其中郵件模板支持附件主題等,具有發(fā)送郵件加密功能使郵件更安全,實(shí)現(xiàn)郵件的過濾和規(guī)則功能;發(fā)送郵件無須S

49、MTP服務(wù)器,具有多種郵件編碼支持各國(guó)語(yǔ)言字符集郵件徹底與亂碼告別;可以選擇先接收較大或較小的郵件從而優(yōu)化收郵件列表;能定時(shí)發(fā)送郵件。</p><p>  “夢(mèng)幻快車(DreamMail)”它支持 SMTP、eSMTP、POP 3、Hotmail、Yahoo 等郵件協(xié)議,真正采用多線程高速收發(fā)郵件。附帶增強(qiáng)型遠(yuǎn)程管理,可以直接查看服務(wù)器上郵件的內(nèi)容、直接刪除郵件;具有郵件過濾器、黑名單及白名單等組合使用能有效對(duì)付

50、垃圾郵件;能自動(dòng)檢測(cè)破壞性郵件增強(qiáng)系統(tǒng)安全。另外,夢(mèng)幻快車通過特有的破亂碼技術(shù)輕松對(duì)付各種亂碼郵件。此外,它還集成了許多特色功能,比如:添加賬號(hào)時(shí)自動(dòng)檢索 POP3/SMTP服務(wù)器、可以自定義動(dòng)態(tài)滾動(dòng)新聞、支持顯示發(fā)件人地址及插入郵件表情等等[19]。</p><p>  “Foxmail”它是由原華中理工大學(xué)張小龍開發(fā)的一款優(yōu)秀的國(guó)產(chǎn)電子郵件客戶端軟件,2005年3月16日被“騰訊”收購(gòu)。新的Foxmail具備

51、強(qiáng)大的反垃圾郵件功能。它使用多種技術(shù)對(duì)郵件進(jìn)行判別,能夠準(zhǔn)確識(shí)別垃圾郵件與非垃圾郵件。垃圾郵件會(huì)被自動(dòng)分撿到垃圾郵件箱中,有效地降低垃圾郵件對(duì)用戶干擾,最大限度地減少用戶因?yàn)樘幚砝]件而浪費(fèi)的時(shí)間。數(shù)字簽名和加密功能在Foxmail 5.0中得到支持,可以確保電子郵件的真實(shí)性和保密性。 通過安全套接層(SSL)協(xié)議收發(fā)郵件使得在郵件接收和發(fā)送過程中,傳輸?shù)臄?shù)據(jù)都經(jīng)過嚴(yán)格的加密,有效防止黑客竊聽,保證數(shù)據(jù)安全。其他改進(jìn)包括:閱讀和發(fā)送國(guó)

52、際郵件(支持Unicode)、地址簿同步、通過安全套接層(SSL)協(xié)議收發(fā)郵件、收取yahoo.com郵箱郵件;提高收發(fā)Hotmail、MSN電子郵件速度 支持名片(vCard)、以嵌入方式顯示附件圖片、增強(qiáng)本地郵箱郵件搜索功能等等</p><p>  1.3本文所做工作與系統(tǒng)概述</p><p><b>  1.3.1系統(tǒng)概述</b></p><

53、p>  一般的客戶端電子郵件軟件應(yīng)該有以下的功能:</p><p>  1) 編輯郵件(用戶進(jìn)行郵件編輯)</p><p>  2) 讀郵件(用戶在收件箱、發(fā)件箱、草稿箱和垃圾箱中查閱郵件信息)</p><p>  3) 發(fā)送郵件(發(fā)送已編輯的郵件或回復(fù)接收郵件)</p><p>  4) 接收郵件(接收發(fā)送方的郵件)</p>

54、;<p>  5) 注冊(cè)帳號(hào)(添加新的賬號(hào))</p><p>  6) 綁定帳號(hào)(將已申請(qǐng)的帳號(hào)綁定在提示窗口的監(jiān)控帳號(hào)列表里)</p><p>  7)刪除帳號(hào)(從提示窗口的監(jiān)控帳號(hào)列表刪除)</p><p><b>  1.3.2本文工作</b></p><p>  本文在深入了解電子郵件管理的實(shí)際操作

55、流程的基礎(chǔ)上,總結(jié)生活中常用的電子郵件功能,并根據(jù)畢業(yè)設(shè)計(jì)的需求,適當(dāng)?shù)膶?duì)功能進(jìn)行刪減和概括,加上綜合自身能力考量,最后提煉出幾個(gè)典型的郵件操作模塊,采用面向?qū)ο蟮木幊趟枷朐O(shè)計(jì)并開發(fā)一套簡(jiǎn)單、方便的郵件接發(fā)及桌面自動(dòng)彈出系統(tǒng),實(shí)現(xiàn)對(duì)電子郵件靈活的管理。</p><p>  具體每章所做內(nèi)容如下:</p><p>  第一章:緒論 初步介紹了該課題的背景及研究現(xiàn)狀以及對(duì)整個(gè)所做工作的介紹及總

56、結(jié)。</p><p>  第二章:介紹了tcp/ip的網(wǎng)絡(luò)編程。包括tcp/ip協(xié)議簡(jiǎn)介以及Windows Sockets網(wǎng)絡(luò)編程并對(duì)該章進(jìn)行了總結(jié)。</p><p>  第三章:系統(tǒng)運(yùn)行環(huán)境包括硬件及軟件平臺(tái) pop3和stmp的簡(jiǎn)介安裝和配置。以及和構(gòu)建郵件系統(tǒng)的準(zhǔn)備工作包括操作系統(tǒng),服務(wù)器,編程語(yǔ)言和編程環(huán)境的選擇以及對(duì)該章的小結(jié)。</p><p>  第四章

57、:郵件接發(fā)與桌面自動(dòng)彈出系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 包括系統(tǒng)概述,主要模塊介紹,相應(yīng)模塊的詳細(xì)設(shè)計(jì),以及最后的系統(tǒng)測(cè)試。</p><p>  最后對(duì)本次畢業(yè)設(shè)計(jì)的總結(jié)以及對(duì)前景進(jìn)行展望。</p><p><b>  1.4 小結(jié)</b></p><p>  隨著電子郵件的發(fā)展沒,各式各樣的郵件客戶端滿足著人們對(duì)電子郵件的不同需求,通過查找了解了一些目前出

58、現(xiàn)的郵件客戶端在,深入的觀察了它們各自的優(yōu)缺點(diǎn),再結(jié)合電子郵件的現(xiàn)狀和發(fā)展需求來看,人們的生活節(jié)奏越來越快,所以有時(shí)間如果不能及時(shí)的查看自己電子郵箱的內(nèi)容就可能耽誤日常的工作和生活,所以在傳統(tǒng)的電子郵箱客戶端的基礎(chǔ)之上添加新郵件時(shí)時(shí)提醒功能顯得十分的必要,所以本畢業(yè)設(shè)計(jì)就是在自己設(shè)計(jì)郵件客戶端的基礎(chǔ)上加上了對(duì)新郵件到達(dá)提醒功能嗎,很好的滿足了人們對(duì)電子郵件的新需求。</p><p>  第二章TCP/IP 網(wǎng)絡(luò)編

59、程簡(jiǎn)介</p><p>  2.1 TCP/IP協(xié)議</p><p>  2.1.1TCP/IP協(xié)議簡(jiǎn)介</p><p>  TCP/IP協(xié)議[19]是“transmission Control Protocol/Internet Protocol”的簡(jiǎn)寫,中文譯名為傳輸控制協(xié)議或互聯(lián)網(wǎng)絡(luò)協(xié)議。TCP/IP是INTERNET的基礎(chǔ)協(xié)議,也是一種電腦數(shù)據(jù)打包和尋址的標(biāo)

60、準(zhǔn)方法。它也是一種網(wǎng)絡(luò)通信協(xié)議,規(guī)范了網(wǎng)絡(luò)上的所有通信設(shè)備,特別是一個(gè)主機(jī)與另一個(gè)主機(jī)之間的數(shù)據(jù)傳送方式以及往來格式。</p><p>  2.1.2 TCP/IP協(xié)議層次概述</p><p>  從協(xié)議的分層模型來講,TCP/IP由四個(gè)層次組成:應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、網(wǎng)絡(luò)接口層。如圖2-1所示。</p><p>  圖2-1 TCP/IP結(jié)構(gòu)對(duì)應(yīng)OS結(jié)構(gòu)<

61、/p><p>  TCP/IP協(xié)議采用了4層的層級(jí)結(jié)構(gòu),并不完全符合OSI的七層參考模型,每一層都呼叫它的下一層所提供的網(wǎng)絡(luò),來完成自己。ARPNET的設(shè)計(jì)者注重網(wǎng)絡(luò)互聯(lián),允許通信子網(wǎng)采用已有的或是將來有的各種協(xié)議,因此這個(gè)層次中沒有提供專門的協(xié)議。實(shí)際上,TCP/IP協(xié)議可以通過網(wǎng)絡(luò)接口層連接到任何網(wǎng)絡(luò)上。</p><p>  2.1.3 TCP/IP協(xié)議的工作原理</p>&

62、lt;p>  在數(shù)據(jù)傳送的過程中,可以形象地理解為有兩個(gè)信封,TCP信封和IP信封。而要傳遞的信息被劃分成若干段,將每一段塞入一個(gè)TCP信封,并在該信封面上記錄分段號(hào)的信息,再將TCP信封塞入IP大信封,發(fā)送上網(wǎng)。在接受的那一端,會(huì)有一個(gè)TCP軟件包,收集信封,抽出數(shù)據(jù),按發(fā)送前的順序還原,并加以校驗(yàn)。若發(fā)現(xiàn)差錯(cuò),TCP將會(huì)要求重發(fā)。因此,TCP/IP在INTERNET中幾乎可以無差錯(cuò)地傳送數(shù)據(jù)[2]。 對(duì)于普通用戶來說,并不需要

63、了解網(wǎng)絡(luò)協(xié)議的整個(gè)結(jié)構(gòu),僅需了解IP的地址格式,便可以與世界各地進(jìn)行網(wǎng)絡(luò)通信。</p><p>  2.1.4 TCP/IP協(xié)議的優(yōu)點(diǎn)</p><p> ?。?)協(xié)議相對(duì)獨(dú)立,它獨(dú)立于特定的網(wǎng)絡(luò)硬件,可以運(yùn)行在局域網(wǎng),廣域網(wǎng),互聯(lián)網(wǎng)中。</p><p> ?。?)它是開放的協(xié)議標(biāo)準(zhǔn),可以免費(fèi)使用,并且獨(dú)立于特定的計(jì)算機(jī)硬件與操作系統(tǒng)。</p><

64、p>  (3)它是標(biāo)準(zhǔn)化的高層協(xié)議,還可以提供更多可靠的用戶服務(wù)。</p><p> ?。?)協(xié)議易于設(shè)計(jì)和實(shí)現(xiàn),具有統(tǒng)一的網(wǎng)絡(luò)地址分配方案,使得整個(gè)TCP/IP設(shè)備在網(wǎng)中都具有唯一的地址。</p><p>  2.1.5 TCP/IP協(xié)議的缺點(diǎn)</p><p>  在互聯(lián)網(wǎng)長(zhǎng)期發(fā)展的過程中,TCP/IP也在跟隨著互聯(lián)網(wǎng)一起發(fā)展。但是TCP/IP協(xié)議具有一個(gè)致

65、命缺點(diǎn),地址空間的局限性。此協(xié)議雖然盡最大努力來傳輸信息包,但其各層間不能保證,安全可靠的給上層提供服務(wù)。它對(duì)于互聯(lián)網(wǎng)上涌現(xiàn)的有些新業(yè)務(wù)類型缺乏有效的支持。</p><p>  2.1.6 TCP/IP協(xié)議的未來發(fā)展趨向</p><p>  由于TCP/IP協(xié)議存在著致命的缺點(diǎn),對(duì)其進(jìn)行改良和發(fā)展已經(jīng)變得刻不容緩,首先要解決的就是地址空間不足的問題。在互聯(lián)網(wǎng)業(yè)界對(duì)這問題有兩種解決方案,一種

66、是非兼容方面的升位,這就是采用全新的地址協(xié)議;另一種就是采用兼容方面的路徑,如超級(jí)協(xié)議,網(wǎng)絡(luò)地址轉(zhuǎn)換等。其次要需要解決的就是安全和服務(wù)方面的問題。在安全方面的問題則主要是對(duì)TCP/IP各層協(xié)議之間的分析,從而防止黑客利用漏洞進(jìn)行網(wǎng)絡(luò)攻擊,竊取用戶的資料或者惡意破壞網(wǎng)絡(luò)的結(jié)構(gòu)。</p><p>  目前我們互聯(lián)網(wǎng)上廣泛使用的TCP/IPv4,就是TCP/IP協(xié)議的第四個(gè)版本。為了解決現(xiàn)有網(wǎng)絡(luò)協(xié)議的弊端,TCP/IP

67、v6在不斷發(fā)展和完善過程中。但在IPv4向v6過渡的過程中,必須遵循以下的原則: </p><p>  保證IPv4和IPv6主機(jī)之間的互通; </p><p>  在更新過程中避免設(shè)備之間的依賴性,即某個(gè)設(shè)備的更新不依賴于其它設(shè)備的更新; </p><p>  對(duì)于終端用戶和網(wǎng)絡(luò)管理者來說,過渡的過程是易于理解和實(shí)現(xiàn)的;</p><p> 

68、 過渡可以逐個(gè)進(jìn)行,運(yùn)營(yíng)商、用戶可以自己決定何時(shí)過渡和如何過渡。</p><p>  只要遵循了上面的原則,相信在不久將來,就將會(huì)代替原有的TCP/IP協(xié)議。</p><p>  2.2 Windows Sockets網(wǎng)絡(luò)編程</p><p>  2.2.1 WindowsSockets 簡(jiǎn)介</p><p>  Windows socket

69、s簡(jiǎn)稱Winsock,是在Windows環(huán)境下使用的一套網(wǎng)絡(luò)編程[3]機(jī)制,是微軟窗口系統(tǒng)結(jié)構(gòu)(WOSA)的一部分。它是起源于UNIX上的Berkeley Software Distribution(BSD)版本的套接字、并為Windows 進(jìn)行了專門地?cái)U(kuò)展。它不是一種網(wǎng)絡(luò)協(xié)議,而是一套開放的、支持多種協(xié)議的Windows環(huán)境下的網(wǎng)絡(luò)編程接口?,F(xiàn)在的Windows Sockets已經(jīng)基本上實(shí)現(xiàn)了與協(xié)議無關(guān),你可以使用Winsock來調(diào)用

70、多種協(xié)議的功能,當(dāng)下較常使用的是TCP/IP協(xié)議。圖2-2為應(yīng)用程序與Winsock關(guān)系圖。</p><p>  圖2-2應(yīng)用程序與Winsock 關(guān)系圖</p><p>  Windows sockets在 Windows 下得到了廣泛的應(yīng)用,支持多種協(xié)議的網(wǎng)絡(luò)編程接口。它定義并記錄了如何使用API 與Internet 協(xié)議族的連接,還要特別指出的所有的Windows sockets 實(shí)

71、現(xiàn)都支持流套接字和數(shù)據(jù)報(bào)套接字。當(dāng)我們?yōu)镃lient/Server開發(fā)一個(gè)特殊的應(yīng)用程序時(shí),我們可以通過套接字來交換我們的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)報(bào),以完成應(yīng)用程序之間的通信。應(yīng)用程序調(diào)用Winsock 的API實(shí)現(xiàn)相互之間的通訊。Winsock 又利用下層的網(wǎng)絡(luò)通訊協(xié)議功能和操作系統(tǒng)調(diào)用實(shí)現(xiàn)實(shí)際的通訊工作。它們之間的關(guān)系如圖2 所示:</p><p>  2.2.2 套接字的兩種主要形式</p><p

72、>  在Windows 套接字[3]中,它主要有流式套接字(Stream socket)和數(shù)據(jù)報(bào)套接字(Datagram socket)兩種形式 。流式也稱為面向連接方式套接字,采用的是TCP 協(xié)議,它提供了有序的,雙向的,無重復(fù)并且無記錄邊界的數(shù)據(jù)流服務(wù)。在這種方式下的兩個(gè)通訊的應(yīng)用程序之間,會(huì)建立一種虛擬的連接。流方式的特點(diǎn)是:通訊可靠,對(duì)數(shù)據(jù)有校驗(yàn)和重發(fā)的機(jī)制,通常用來作數(shù)據(jù)文件的傳輸,如ftp ,telnet等,適合大量數(shù)

73、據(jù)的傳輸。數(shù)據(jù)報(bào)套接字采用的是UDP 協(xié)議,建立在IP 協(xié)議上,提供的是無連接數(shù)據(jù)報(bào)傳輸,支持雙向的數(shù)據(jù)流,但并不保證是有序、可靠、無重復(fù)的。</p><p>  2.2.3 Windows Sockets網(wǎng)絡(luò)編程</p><p>  網(wǎng)絡(luò)程序要考慮的幾個(gè)問題</p><p> ?。?)并發(fā)環(huán)境下的網(wǎng)絡(luò)編程</p><p>  在多線程應(yīng)用中

74、,對(duì)系統(tǒng)的調(diào)用或函數(shù)的使用有很多限制,因此在編程時(shí)應(yīng)該注意的那些不可重入的調(diào)用或函數(shù)。</p><p> ?。?)異構(gòu)環(huán)境下的網(wǎng)絡(luò)編程</p><p>  網(wǎng)絡(luò)中,通信往往在異構(gòu)環(huán)境下進(jìn)行。因此要考慮不同平臺(tái)之間的異構(gòu)性。</p><p>  (3)阻塞與非阻塞通信</p><p>  網(wǎng)絡(luò)編程中可以將通信分為:阻塞和非阻塞兩種模式。對(duì)于不同

75、的協(xié)議,阻塞通信和非阻塞通信的表現(xiàn)是不同的,所以在進(jìn)行網(wǎng)絡(luò)編程的時(shí)候,選擇通信模式是一件很重要的事情。以套接口編程為例,在阻塞模式下,調(diào)用recv()函數(shù)讀取網(wǎng)絡(luò)緩沖區(qū)中的數(shù)據(jù),如果沒有數(shù)據(jù)到達(dá),將一直掛在recv()這個(gè)函數(shù)調(diào)用上,直到讀到一些數(shù)據(jù),此函數(shù)調(diào)用才返回;而非阻塞套接字不管是否執(zhí)行成功,都立即返回。在實(shí)際Windows網(wǎng)絡(luò)通信軟件開發(fā)中,異步非阻塞套接字的應(yīng)用是最多的。平常所說的Client/Server(客戶端/服務(wù)器)

76、結(jié)構(gòu)的軟件就是異步非阻塞模式的。</p><p>  (4)服務(wù)類型的選擇</p><p>  從通信角度來說,分為兩類:面向連接符和無連接服務(wù)。</p><p>  對(duì)于面向連接的通信,因?yàn)閮蓚€(gè)對(duì)等的實(shí)體要建立連接,進(jìn)行數(shù)據(jù)的通信。面向連服務(wù)的要求是,在數(shù)據(jù)交換之前,就必須先建立連接。在數(shù)據(jù)交換后,再終止這個(gè)連接。</p><p>  對(duì)于

77、無連接的兩個(gè)實(shí)體,有服務(wù)通信時(shí),不需要建立連接,其所需的資源在數(shù)據(jù)進(jìn)行傳輸時(shí)就動(dòng)態(tài)的進(jìn)行分配。無連接的優(yōu)點(diǎn)是方便、高效、靈活。但是它不能預(yù)防報(bào)文的丟失、重復(fù)和失序。</p><p>  2.2.4 Winsock的主要函數(shù)及其應(yīng)用</p><p>  在使用Winsock設(shè)計(jì)網(wǎng)絡(luò)程序,最為關(guān)鍵的問題是要了解與掌握Winsock API中的各種功能函數(shù)。</p><p&g

78、t; ?。?)數(shù)據(jù)格式轉(zhuǎn)換函數(shù)</p><p>  不同的計(jì)算機(jī)系統(tǒng)在存儲(chǔ)由多個(gè)字節(jié)組成的信息時(shí),有些是將高序列字節(jié)放在低地址處,有些相反,拔高序列字節(jié)放在高地址處。發(fā)送端在傳輸數(shù)據(jù)之前要將“主機(jī)字節(jié)”轉(zhuǎn)化為“網(wǎng)絡(luò)字節(jié)”。在Winsock API中就有這一類函數(shù)專門進(jìn)行轉(zhuǎn)換工作。</p><p> ?。?)IP地址轉(zhuǎn)換函數(shù)及其應(yīng)用</p><p>  在進(jìn)行網(wǎng)絡(luò)程序

79、設(shè)計(jì)時(shí),常常需要從鍵盤上輸入,用點(diǎn)分十進(jìn)制記法表示的主機(jī)IP地址。這種IP地址在程序中,一般是用ASCII字符串的形式存儲(chǔ)的。在網(wǎng)絡(luò)程序中,要把這種用點(diǎn)分十進(jìn)制字符串表示的IP地址轉(zhuǎn)換為用網(wǎng)絡(luò)字節(jié)順序表示的IP地址。在Winsock API中提供了這樣的函數(shù),這種函數(shù)以inet開頭。</p><p>  點(diǎn)分十進(jìn)制表示的IP地址轉(zhuǎn)換為網(wǎng)絡(luò)字節(jié)順序的IP地址---inet_addr()</p><

80、;p>  Inet_addr()函數(shù)的格式如下:</p><p>  unsigned long inet_addr(</p><p>  __in const char *cp //一個(gè)以“.”間隔的字符串,即一個(gè)點(diǎn)分十進(jìn)制數(shù)表示的IP地址</p><p><b>  );</b></p><p>  網(wǎng)絡(luò)字節(jié)

81、順序的IP地址轉(zhuǎn)換為點(diǎn)分十進(jìn)制數(shù)表示的IP地址---inet_ntoa()</p><p>  inet_ntoa()函數(shù)的格式如下:</p><p>  char* FAR inet_ntoa(</p><p>  __in struct in_addr in //表示一個(gè)結(jié)構(gòu)型的IP主機(jī)地址</p><p><b>  )

82、;</b></p><p>  函數(shù)調(diào)用成功后,返回一個(gè)指向字符的指針,該指針指向一個(gè)文本型的緩沖區(qū),緩沖區(qū)中存有點(diǎn)分十進(jìn)制表示的IP地址;如果網(wǎng)絡(luò)調(diào)用失敗,則返回一個(gè)空指針NULL。</p><p> ?。?)網(wǎng)絡(luò)信息獲取函數(shù)及其應(yīng)用</p><p>  網(wǎng)絡(luò)中的主機(jī)需要安裝TCP/IP[4]協(xié)議或其他協(xié)議才能進(jìn)行通信,網(wǎng)絡(luò)應(yīng)用程序有時(shí)候要獲取主機(jī)上與

83、網(wǎng)絡(luò)有關(guān)的信息,這信息一般存放在數(shù)據(jù)文件中。</p><p><b>  2.3本章小結(jié)</b></p><p>  傳輸控制協(xié)議或互聯(lián)網(wǎng)絡(luò)協(xié)議簡(jiǎn)稱tcp/ip協(xié)議作為一種網(wǎng)絡(luò)通信協(xié)議,規(guī)范了網(wǎng)絡(luò)上的所有通信設(shè)備。Windows sockets不是一種網(wǎng)絡(luò)協(xié)議,而是一套開放的、支持多種協(xié)議的Windows環(huán)境下的網(wǎng)絡(luò)編程接口,本畢業(yè)設(shè)計(jì)在設(shè)計(jì)郵件接法功能時(shí)則用到了tc

84、p/ip網(wǎng)絡(luò)編程,實(shí)現(xiàn)對(duì)特定端口的郵件接發(fā),在此過程中Windows sockets所提供的windows環(huán)境的編程借口提供了很多的便利,自己切身體會(huì)到了它的強(qiáng)大。</p><p>  第三章 系統(tǒng)運(yùn)行環(huán)境</p><p><b>  3.1 運(yùn)行平臺(tái)</b></p><p>  3.1.1 硬件平臺(tái)</p><p>

85、;  CPU:P4 1.8GHZ。</p><p>  內(nèi)存:256MB以上。</p><p>  3.1.2 軟件平臺(tái)</p><p>  操作系統(tǒng):Windows 7。</p><p>  java程序開發(fā)工具:MyEclipse。</p><p>  分辨率:推薦使用1024×768像素。</

86、p><p>  3.2 運(yùn)行環(huán)境的配置</p><p>  3.2.1 POP3和STMP簡(jiǎn)介</p><p><b>  POP3概述</b></p><p>  POP3是Post Office Protocol 3的簡(jiǎn)稱,即郵局協(xié)議第3版。它規(guī)定了怎樣將個(gè)人計(jì)算機(jī)連接到Internet的郵件服務(wù)器和如何下載電子郵件

87、。它是Internet電子郵件的第一個(gè)離線協(xié)議標(biāo)準(zhǔn)。簡(jiǎn)單地說,POP3就是一個(gè)簡(jiǎn)單而使用的郵件信息傳輸協(xié)議。</p><p><b>  SMTP概述</b></p><p>  SMTP是Simple Mail Transfer Protocol的簡(jiǎn)稱,即簡(jiǎn)單郵件傳輸協(xié)議。SMTP是一種提供可靠且有效電子郵件傳輸?shù)膮f(xié)議。它是一組用于由源地址到目的地址發(fā)送郵件的規(guī)則,

88、用來控制信件的中轉(zhuǎn)方式。它幫助每臺(tái)計(jì)算機(jī)在發(fā)送或中轉(zhuǎn)信件時(shí)找到下一個(gè)目的地,通過SMTP協(xié)議所指定的服務(wù)器,將郵件發(fā)送到收件人的服務(wù)器上。</p><p>  3.2.2 安裝POP3/SMTP服務(wù)</p><p>  在Windows 2003下架設(shè)郵件服務(wù)器可以用系統(tǒng)自帶的POP3及SMTP服務(wù)建立。同其他服務(wù)一樣,默認(rèn)情況下這兩個(gè)服務(wù)是沒有安裝的,需要手工進(jìn)行添加。安裝的步驟如下:

89、</p><p>  第一步:安裝POP3服務(wù)組件。</p><p>  以系統(tǒng)管理員身份登錄Windows 2003系統(tǒng),選擇【控制面板】|【添加或刪除程序】|【添加/刪除Windows組件】命令,在彈出的【W(wǎng)indows組件向?qū)А繉?duì)話框中選中【電子郵件服務(wù)】選項(xiàng)。單擊【詳細(xì)信息】按鈕,可以看到該選項(xiàng)包括兩部分內(nèi)容,分別是“POP3服務(wù)”和“POP3服務(wù)Web管理”。為方便用戶以遠(yuǎn)程We

90、b方式管理郵件服務(wù)器,建議選中【POP3服務(wù)Web管理】命令,如圖3-1所示。</p><p>  圖3-1 選中【POP3服務(wù)Web管理】</p><p>  第二步:安裝SMTP服務(wù)組件。</p><p>  選中【應(yīng)用程序服務(wù)器】選項(xiàng),單擊【詳細(xì)信息】按鈕。在【Internet信息服務(wù)(IIS)】選項(xiàng)中查看詳細(xì)信息,選中SMTP Service選項(xiàng),單擊【

91、確定】按鈕。此外,如果需要對(duì)郵件服務(wù)器進(jìn)行遠(yuǎn)程Web管理,一定要選中【萬維網(wǎng)服務(wù)】選項(xiàng)中的【遠(yuǎn)程管理(HTML)】命令組件。完成以上設(shè)置后,單擊【下一步】按鈕,系統(tǒng)就開始安裝配置POP3和SMTP服務(wù)了。</p><p>  3.2.3 配置POP3/SMTP服務(wù)</p><p>  配置POP3/SMTP服務(wù)器步驟如下:</p><p>  第一步:創(chuàng)建郵件域。

92、</p><p>  選擇【開始】|【管理工具】|【POP3服務(wù)】命令,彈出【POP3服務(wù)控制臺(tái)】對(duì)話框。選中左欄中的POP3服務(wù)后,單擊右欄中的【新域】選項(xiàng),彈出【添加域】對(duì)話框。在【域名】文本框中輸入郵件服務(wù)器的域名,也就是郵件地址“@”后面的部分,例如yang.com,然后單擊【確定】按鈕,如圖3-2所示。</p><p>  圖3-2   創(chuàng)建新域</p&

93、gt;<p>  第二步:創(chuàng)建系統(tǒng)登陸帳戶。</p><p>  選中新建的yang.com域,在右欄中選擇【添加郵箱】命令,彈出【添加郵箱】對(duì)話框,在【郵箱名】文本欄中輸入郵件用戶名,然后設(shè)置用戶密碼,最后單擊【確定】按鈕,完成系統(tǒng)登陸帳戶的創(chuàng)建,如圖3-3所示。</p><p>  圖3-3   創(chuàng)建郵箱</p><p>  第

94、三步:配置SMTP服務(wù)器。</p><p>  選擇【開始】|【程序】|【管理工具】|【Internet信息服務(wù)管理器】選項(xiàng)。在【IIS管理器】對(duì)話框中右擊【默認(rèn)SMTP虛擬服務(wù)器】選項(xiàng),在彈出的菜單中選擇【屬性】選項(xiàng),進(jìn)入【默認(rèn)SMTP虛擬服務(wù)器屬性】對(duì)話框,切換到【常規(guī)】選項(xiàng)卡,在【IP地址】下拉列表框中選擇郵件服務(wù)器的IP地址即可。單擊【確定】按鈕,這樣一個(gè)簡(jiǎn)單的郵件服務(wù)器就架設(shè)完成了,如圖3-4所示。完成

95、以上設(shè)置后,就可以使用郵件客戶端軟件連接郵件服務(wù)器進(jìn)行郵件收發(fā)工作。只要在POP3和SMTP處輸入郵件服務(wù)器的IP地址即可。注意:這個(gè)時(shí)候smtp access里面設(shè)置的是匿名訪問,此時(shí)任何用戶都可以利用此mail服務(wù)器發(fā)郵件。</p><p>  第四步:設(shè)置在SMTP虛擬服務(wù)器中傳入郵件信息的存放位置。</p><p>  SMTP虛擬服務(wù)器有一個(gè)本地默認(rèn)域,默認(rèn)指定的傳入郵件信息都放

96、置在C:\Inetpub\mailroot\Drop文件夾中,可以根據(jù)實(shí)際情況更改Drop文件夾的位置,如圖3-5所示。</p><p>  圖3-4   設(shè)置SMTP虛擬服務(wù)器屬性</p><p>  圖3.5 設(shè)置傳入郵件信息的存放位置</p><p>  3.3 構(gòu)建郵件系統(tǒng)的準(zhǔn)備工作</p><p>  3.3.

97、1 操作系統(tǒng)和服務(wù)器軟件的選擇</p><p>  Windows XP該系統(tǒng)雖然只是Microsoft開發(fā)的一個(gè)個(gè)人計(jì)算機(jī)操作系統(tǒng),但是它采用的是Windows NT的內(nèi)核,擁有較好的穩(wěn)定性以及比Windows2000高得多的磁盤讀寫能力,所以安裝上服務(wù)器軟件后的Windows XP系統(tǒng)一樣是一個(gè)很可靠的服務(wù)器平臺(tái),更重要的是Windows XP的兼容性比Windows 2000 Server要好很多,各種軟

98、件在系統(tǒng)中都可以很好的運(yùn)行,所以我們使用Windows XP作為Web服務(wù)器,以及用戶界面代碼的編輯環(huán)境。</p><p>  編程語(yǔ)言和編程環(huán)境的選擇</p><p>  出于個(gè)人所學(xué)限制,為實(shí)現(xiàn)郵件收發(fā),采用java編程。在java中 為實(shí)現(xiàn)郵件收發(fā) 開發(fā)人員開發(fā)了可供郵件相關(guān)操作的一系列的接口簡(jiǎn)稱JavaMail api 。</p><p><b>

99、  Java 語(yǔ)言簡(jiǎn)介</b></p><p>  Java 語(yǔ)言[5-7],目前最流行的面向?qū)ο缶幊陶Z(yǔ)言[7]。</p><p>  Java是一種可以撰寫跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,是由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計(jì)語(yǔ)言和Java平臺(tái)(即JavaSE, JavaEE, JavaME)的總稱。之后,全世界的目光都被這個(gè)神

100、奇的語(yǔ)言所吸引。Java 技術(shù)具有[8]卓越的通用性、高效性、平臺(tái)移植性和安全性,廣泛應(yīng)用于個(gè)人PC、數(shù)據(jù)中心、游戲控制臺(tái)、科學(xué)超級(jí)計(jì)算機(jī)、移動(dòng)電話和互聯(lián)網(wǎng)等領(lǐng)域。</p><p>  平臺(tái)無關(guān)性[9-12]是指Java能運(yùn)行于不同的平臺(tái)[11]。Java引進(jìn)虛擬機(jī) 原理,并運(yùn)行于虛擬機(jī),實(shí)現(xiàn)不同平臺(tái)的Java接口之間。使用Java編寫的程序能在世界范圍內(nèi)共享。Java的數(shù)據(jù)類型與 機(jī)器無關(guān),Java虛擬機(jī)(Ja

101、va Virtual Machine)是建立在硬件和操作系統(tǒng)之上,實(shí)現(xiàn)Java二進(jìn)制代碼的解釋執(zhí)行功能, 提供于不同平臺(tái)的接口的。 </p><p>  Java的編程[13]類似C++,學(xué)習(xí)過C++的讀者將很快掌握J(rèn)ava的精髓。Java舍棄了C++的指針對(duì)存儲(chǔ)器地址的直接操作,程序運(yùn)行時(shí),內(nèi)存由操作系統(tǒng)分配,這樣可以避免病毒通過指針侵入系統(tǒng)。Java對(duì)程序提供了安全管理器,防止程序的非法訪問。 </p&

102、gt;<p>  Java吸取了C++面向?qū)ο蟮母拍頪14],將數(shù)據(jù)封裝于類中,利用類的優(yōu)點(diǎn),實(shí)現(xiàn)了程序的簡(jiǎn)潔性和便于維護(hù)性。類的封裝性、繼承性等有關(guān)對(duì)象的特性,使程序代碼只需一次編譯,然后通過上述特性反復(fù)利用。程序員只需把主要精力用在類和接口的設(shè)計(jì)和應(yīng)用上。Java提供了眾多的一般對(duì)象的類[31],通過繼承即可使用父類的方法。在Java中[15],類的繼承關(guān)系是單一的非多重的,一個(gè)子類只有一個(gè)父類,子類的父類又有一個(gè)父類

103、。Java提供的Object類及其子類的繼承關(guān)系如同一棵倒立的樹形,根類為Object類,Object類功能強(qiáng)大,經(jīng)常會(huì)使用到它及其它派生的子類。 </p><p>  Java建立在擴(kuò)展TCP/IP網(wǎng)絡(luò)平臺(tái)上[16]。庫(kù)函數(shù)提供了用HTTP和FTP協(xié)議傳送和接受信息的方法。這使得程序員使用網(wǎng)絡(luò)上的文件和使用本機(jī)文件一樣容易。 </p><p>  Java致力于檢查程序在編譯和運(yùn)行時(shí)的錯(cuò)

104、誤[17]。類型檢查幫助檢查出許多開發(fā)早期出現(xiàn)的錯(cuò)誤。Java自己操縱內(nèi)存減少了內(nèi)存出錯(cuò)的可能性。Java還實(shí)現(xiàn)了真數(shù)組,避免了覆蓋數(shù)據(jù)的可能,這些功能特征大大提高了開發(fā)Java應(yīng)用程序的周期。并且Java還提供了Null指針檢測(cè)、數(shù)組邊界檢測(cè)、異常出口、Byte code校驗(yàn)等功能。 </p><p>  我們知道C,C++等語(yǔ)言[18],都是針對(duì)CPU芯片進(jìn)行編譯,生成機(jī)器代碼,該代碼的運(yùn)行就和特定的CPU有

105、關(guān)。Java不像C或C++,它不針對(duì)CPU芯片進(jìn)行編譯,而是把程序編譯成稱為自字節(jié)碼的一種“中間代碼”。字節(jié)碼是很接近機(jī)器碼的文件,可以在提供了Java虛擬機(jī)(JVM)的任何系統(tǒng)上被解釋執(zhí)行。 </p><p>  Java程序的基本組成單元就是類[19],有些類是自己編寫的,有些是從類庫(kù)中引入的,而類又是運(yùn)行時(shí)動(dòng)態(tài)裝載的,這就使得Java可以在分部環(huán)境中動(dòng)態(tài)的維護(hù)程序及分類,而不像C++那樣,沒檔期類庫(kù)升級(jí)以后

106、,如果想讓程序具有新類庫(kù)提供的功能,就需要修改程序,重新編譯。</p><p><b>  GUI簡(jiǎn)介</b></p><p>  GUI[5-8]全名Graphical User Interface,是桌面應(yīng)用程序的英文簡(jiǎn)寫,也叫圖形用戶界面[22]。由于最初的與計(jì)算機(jī)交互的用戶界面不是圖形的,而是以文本和鍵盤為主的,需要記住的那些命令,對(duì)于非專業(yè)人士來說非常的不方

107、便。DOS操作系統(tǒng)的命令行[23]界面就是在圖形用戶界面之前出現(xiàn)的用戶計(jì)算機(jī)界面。在命令行界面和圖形用戶界面之間還有一個(gè)中間步驟,就是非圖形菜單界面,這種界面是通過使用鼠標(biāo)而不是輸入鍵盤命令與計(jì)算機(jī)進(jìn)行交互的。正是由于GUI的友好性才讓計(jì)算機(jī)能夠從實(shí)驗(yàn)室里復(fù)雜的電腦走進(jìn)了千家萬戶,最終讓用戶獲得最佳的使用體驗(yàn)。</p><p>  現(xiàn)在主要的操作系統(tǒng)都提供圖形用戶界面[23]。應(yīng)用軟件一般使用操作系統(tǒng)自帶的圖形用

108、戶界面并加上自己的圖形用戶界面元素和思想。人們有時(shí)用現(xiàn)實(shí)生活中的事物,如桌面、通過窗口的景觀或者一個(gè)建筑的布局圖,來比喻圖形用戶界面。圖形用戶界面元素包括窗口、下拉菜單、按鈕、滾動(dòng)條、圖表圖像、幫助向?qū)?、鼠?biāo)以及目前還未出現(xiàn)的許多東西。隨著多媒體元素的使用[24],語(yǔ)音、聲音、動(dòng)畫視頻以及虛擬現(xiàn)實(shí)界面已經(jīng)成了許多軟件的圖形用戶界面的一部分。一個(gè)系統(tǒng)的圖形用戶界面,再加上輸入設(shè)備變組成了系統(tǒng)的“視覺和感覺”。</p><

109、;p>  GUI主要有三個(gè)圖形界面工具:AWT,SWT和Swing。</p><p>  AWT[9-11]抽象窗口工具集為簡(jiǎn)單的applet程序設(shè)計(jì),它不適宜用來構(gòu)建豐富的桌面圖形界面。但是從開始被介紹,它至少有一個(gè)好的思想就是布局管理,它負(fù)責(zé)為組件找到一個(gè)放置的位置,這種機(jī)制是必需的,因?yàn)镚UI組件在不同的操作系統(tǒng)中有不同的尺寸。 現(xiàn)在, AWT擴(kuò)展了組件模型和事件處理機(jī)制(由JavaBeans說明定義

110、),新的圖形API(稱為Java 2D),支持剪貼板和拖拉操作,打印,準(zhǔn)入,和新的GUI工具Swing,所有這些都?xì)w到Java基礎(chǔ)類中(JFC)。</p><p>  SWT[17]是IBM為它的Eclipse集成開發(fā)環(huán)境而開發(fā)的圖形用戶界面工具。SWT可以在Eclipse環(huán)境外使用,而且提供對(duì)操作系統(tǒng)本地圖形用戶界面的直接訪問。因此,基于SWT的Java應(yīng)用程序擁有本地的圖形用戶界面并且可以和本地別的應(yīng)用程序和

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論