




已閱讀5頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
目 錄第1章 概述11.1研究目的和意義11.2國(guó)內(nèi)外發(fā)展趨勢(shì)和現(xiàn)狀21.3 系統(tǒng)特點(diǎn)4第2章 相關(guān)技術(shù)和工具簡(jiǎn)介62.1 Swing簡(jiǎn)介62.2 Java Mail簡(jiǎn)介62.3 Java平臺(tái)簡(jiǎn)介72.4 Eclipse簡(jiǎn)介7第3章 系統(tǒng)需求分析和總體設(shè)計(jì)93.1用戶(hù)對(duì)電子郵件系統(tǒng)的需求93.2產(chǎn)品可行性分析103.3系統(tǒng)總體設(shè)計(jì)12 3.3.1電子郵件系統(tǒng)的功能12 3.3.2電子郵件收發(fā)過(guò)程13 3.3.3服務(wù)器參數(shù)的設(shè)置14 第4章 詳細(xì)設(shè)計(jì) .154.1 登錄功能的設(shè)計(jì)154.2發(fā)送郵件的設(shè)計(jì)154.3接收郵件的設(shè)計(jì)164.4郵件管理的設(shè)計(jì)17 第5章 系統(tǒng)功能的編碼實(shí)現(xiàn)185.1用戶(hù)登錄界面的實(shí)現(xiàn)185.2主界面的實(shí)現(xiàn)195.3 郵件配置界面的實(shí)現(xiàn)205.4 發(fā)送郵件界面的實(shí)現(xiàn)215.5 接收郵件界面的實(shí)現(xiàn)22第6章 系統(tǒng)實(shí)現(xiàn)的功能測(cè)試246.1 登錄測(cè)試246.2發(fā)送測(cè)試246.3接收郵件測(cè)試266.4查看郵件測(cè)試266.5刪除郵件測(cè)試27第7章 總結(jié)29參考文獻(xiàn)30致 謝31附錄:部分源程序代碼32附件1:開(kāi)題報(bào)告附件2: 譯文及原文影印件41 / 44第1章 概述 隨著信息時(shí)代的到來(lái),Internet的廣泛應(yīng)用,相信大家對(duì)qq郵箱,163郵箱,yahoo郵箱已經(jīng)并不陌生,這一類(lèi)郵箱的出現(xiàn)是計(jì)算機(jī)和網(wǎng)絡(luò)不斷發(fā)展的結(jié)果,與每個(gè)人都密不可分,已經(jīng)成為網(wǎng)絡(luò)中最廣泛使用的一部分。1.1研究目的和意義從人類(lèi)發(fā)展開(kāi)始,信息交換一直都是人類(lèi)的基本需求之一。人們會(huì)通過(guò)各種途徑來(lái)實(shí)現(xiàn)信息的交換,從而達(dá)到一種交流。從以前的快馬送信和口耳相傳到如今的電話(huà)電腦和郵政系統(tǒng),隨著先進(jìn)技術(shù)的不斷進(jìn)步,人類(lèi)信息交流的方式也一直在進(jìn)步,其中電子郵件服務(wù)就是計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)出現(xiàn)之后的一個(gè)例子。它較以前更加方便快捷,深受人們的喜愛(ài)。電子郵件又被稱(chēng)為電子郵箱,是一種典型的通過(guò)先進(jìn)技術(shù)的電子手段提供信息交換的一種通信方式,同時(shí)也是Internet的所有應(yīng)用中最廣泛的服務(wù)。電子郵件不是只局限于信件的傳遞了,而是另外還包括文件,聲音及圖形圖像等信息的傳遞。這種非交互式的通信方式,加速了數(shù)據(jù)傳送從而更快的達(dá)到信息的交流,促進(jìn)了社會(huì)的發(fā)展。她是一種簡(jiǎn)單且快速的方法,電子郵件系統(tǒng)通過(guò)連上全世界的網(wǎng)絡(luò),用戶(hù)就可以免費(fèi)地并且非常快的(幾秒鐘之內(nèi))可以將信息發(fā)送到世界上任何你指定的目的地。同時(shí),用戶(hù)也可以從電子郵件系統(tǒng)中得到大量免費(fèi)的新聞、專(zhuān)題郵件,并實(shí)現(xiàn)輕松的信息搜索。這是任何傳統(tǒng)的方式也無(wú)法相比的。 電子郵件最顯著地特點(diǎn)是“存貯轉(zhuǎn)發(fā)式”服務(wù),并不是一種“終端到終端的服務(wù),利用這種存貯轉(zhuǎn)發(fā)可以進(jìn)行異步通信,即信件發(fā)送人可以在任何時(shí)間任何地點(diǎn)發(fā)送文件,這并不要求接收者必須同時(shí)在場(chǎng),即使是對(duì)方不在,發(fā)送者的郵件還是可以立刻送到對(duì)方的信箱內(nèi),并進(jìn)行了存儲(chǔ),這樣接收者可以在他方便時(shí)登錄郵箱來(lái)收取郵件,來(lái)查看郵件內(nèi)容,這不必受到時(shí)間空間的限制。這種存貯轉(zhuǎn)發(fā)服務(wù)也正是電子郵箱系統(tǒng)的核心。 隨著上網(wǎng)用戶(hù)越來(lái)越多,上網(wǎng)速度越來(lái)越快,作為網(wǎng)絡(luò)基礎(chǔ)應(yīng)用的電子郵件系統(tǒng)所面臨的問(wèn)題也日益突出,不管是使用免費(fèi)的郵箱,還是163.com等,還是使用收費(fèi)的個(gè)人郵箱,ISP提供的虛擬機(jī)郵箱都存在著種種問(wèn)題。介于當(dāng)下流行的各大郵件客戶(hù)端軟件的除了最主要的收發(fā)信件之外,功能越來(lái)越復(fù)雜,但是我們的日常生活中真正用到的功能卻很少,同時(shí)作為中小型企業(yè),郵箱的成本也越來(lái)越高,很多功能尤其對(duì)于計(jì)算機(jī)知識(shí)相對(duì)缺乏的人來(lái)說(shuō),顯得太過(guò)華麗且不太實(shí)用。有鑒于此,在了解smtp和pop3等底層協(xié)議的基礎(chǔ)之上,開(kāi)發(fā)了這個(gè)各種功能相對(duì)簡(jiǎn)單實(shí)用的郵件系統(tǒng),簡(jiǎn)化了用戶(hù)的操作。1.2國(guó)內(nèi)外發(fā)展趨勢(shì)和現(xiàn)狀 電子郵件是互聯(lián)網(wǎng)最基本且最重要的服務(wù)之一。據(jù)統(tǒng)計(jì),目前全世界的電子郵件賬號(hào)超過(guò)15億個(gè),電子郵件成為Internet上所占比例最大的應(yīng)用。中國(guó)互聯(lián)網(wǎng)絡(luò)信息中心關(guān)于中國(guó)互聯(lián)網(wǎng)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告(2005年1月)表明,我國(guó)目前上網(wǎng)人數(shù)9400萬(wàn),人均擁有電子郵箱1.5個(gè)。還有另一項(xiàng)數(shù)據(jù)表明,互聯(lián)網(wǎng)上百分之三十的業(yè)務(wù)量都是電子郵件,由于我國(guó)通信設(shè)施較差,以及網(wǎng)絡(luò)速度慢等弊端,快捷的電子郵件服務(wù)更具實(shí)用性。CINNIC中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告中指出,中國(guó)用戶(hù)最常使用的網(wǎng)絡(luò)服務(wù)71.65%是電子郵件,而搜索引擎和上傳或下載服務(wù)分別只占50.40%和44.16%。早期的電子郵件系統(tǒng)在網(wǎng)絡(luò)形成的時(shí)候就已經(jīng)出現(xiàn)了,1961年的時(shí)候,麻省理工學(xué)院在7094大型機(jī)系統(tǒng)上開(kāi)發(fā)出了一套兼容時(shí)分共享系統(tǒng)(CTSS)。這也允許許多用戶(hù)使用主機(jī)的新能力,使用戶(hù)可以用新的方法來(lái)共享信息。當(dāng)CTSS系統(tǒng)的用戶(hù)需要向其他用戶(hù)傳遞信息時(shí),他們會(huì)在一個(gè)通用的目錄下以“TO TOM”之類(lèi)的文件名簡(jiǎn)歷一個(gè)文件,查看或者打印其中的內(nèi)容,在這種簡(jiǎn)單的信息發(fā)送方法的基礎(chǔ)上,出現(xiàn)了第一個(gè)“郵件”工具,通過(guò)這個(gè)工具,CTSS系統(tǒng)的管理員可以向用戶(hù)發(fā)送信息。例如某個(gè)用戶(hù)他丟失的文件已經(jīng)通過(guò)備份找回,這是通過(guò)在目錄用戶(hù)中創(chuàng)建特定的文件來(lái)實(shí)現(xiàn)的。 這以后,CTSS系統(tǒng)上也出現(xiàn)了用于用戶(hù)之間信息傳遞的郵件工具。在其他的多用戶(hù)系統(tǒng)上,也陸續(xù)開(kāi)發(fā)和使用了類(lèi)似的郵件軟件。這些軟件的工作原理類(lèi)似,都是在用戶(hù)目錄下設(shè)置一個(gè)特殊的目錄,一個(gè)用戶(hù)給另一個(gè)用戶(hù)發(fā)信時(shí),就在收信者的牡蠣下建立一個(gè)新的文件,并在其中保存新建的內(nèi)容。 當(dāng)收信者稍后登陸的主機(jī)上時(shí),檢查該目錄就可以知道自己有新的郵件,并可以打開(kāi)和查看郵件內(nèi)容,這些早期的郵件系統(tǒng)雖然非常簡(jiǎn)陋,也存在很多問(wèn)題,但是其基本思想都是通過(guò)文件的傳遞來(lái)實(shí)現(xiàn)用戶(hù)之間的異步傳輸,和今天所用的電子郵件系統(tǒng)基本相同?,F(xiàn)代電子郵件系統(tǒng)正式在這些原始的郵件軟件基礎(chǔ)上發(fā)展而來(lái)的。 到了20世紀(jì)60年代末70年代初,在美國(guó)國(guó)防部領(lǐng)導(dǎo)下,現(xiàn)代INTERNET 的前身ARPANET 開(kāi)始建立和運(yùn)行,它將成員單位的多臺(tái)主機(jī)連接起來(lái)組成了一個(gè)網(wǎng)絡(luò)。當(dāng)時(shí),網(wǎng)絡(luò)內(nèi)的大部分主機(jī)上都已經(jīng)有了內(nèi)部的郵件系統(tǒng),于是一個(gè)很自然的想法出現(xiàn)了,就是能否利用ARPANET使這些郵件系統(tǒng)能夠相互通信。事實(shí)上,郵件系統(tǒng)的互聯(lián)正式ARPANETA最早期的網(wǎng)絡(luò)應(yīng)用嘗試之一。 1969年,在ARPANET原型網(wǎng)還在試驗(yàn)的時(shí)候,拉里羅伯特編寫(xiě)了第一個(gè)通過(guò)網(wǎng)絡(luò)發(fā)送電子郵件的程序。 1971年1月,ARPA RFC 196郵箱協(xié)議(Mail Box Protocol)中討論了如何通過(guò)ARPANET 發(fā)送郵件的問(wèn)題。之后有多個(gè)類(lèi)似的RFC文件進(jìn)行了這個(gè)方面的探討。 由于當(dāng)時(shí)FTP協(xié)議已經(jīng)比較成熟,而郵件發(fā)送一直沒(méi)有成熟的協(xié)議,所以一些人開(kāi)始研究利用FTP協(xié)議來(lái)發(fā)送郵件的方法。1972年8月,在RCF385關(guān)于FTP協(xié)議的注釋中第一次提出通過(guò)擴(kuò)展FTP協(xié)議的方法來(lái)發(fā)送電子郵件。之后的一些RFC文件進(jìn)一步對(duì)該方案進(jìn)行了改進(jìn)。在1973年一次會(huì)議上,大家統(tǒng)一在FTP命令中使用“用戶(hù)名主機(jī)名”形式的地址來(lái)標(biāo)明郵件地址,這被寫(xiě)入了RFC469文件。RFC498則提出了不用FTP協(xié)議進(jìn)行郵件傳輸?shù)姆椒?。這些方案由于各種原因都未能得到推廣使用,ARPANET上的郵件系統(tǒng)一直處于各自為政的狀態(tài)。 除了郵件收發(fā)的問(wèn)題外,郵件格式也是電子郵件協(xié)議中的一個(gè)重要內(nèi)容。1977年,洛克等人提出來(lái)一個(gè)統(tǒng)一的郵件格式標(biāo)準(zhǔn),也就是后來(lái)的RFC733.但是這次統(tǒng)一郵件格式標(biāo)準(zhǔn)的嘗試并未能獲得成功。這便是早起ARPNET上的電子郵件系統(tǒng)。 早起的各種基于網(wǎng)絡(luò)的電子郵件傳輸協(xié)議都存在這樣那樣的問(wèn)題。要么功能不完善,要么過(guò)于復(fù)雜。人們需要的是一個(gè)全新的,易于實(shí)現(xiàn)而有功能強(qiáng)大的電子郵件傳輸協(xié)議。1980年,RFC772郵件傳輸協(xié)議發(fā)布了,其中描述了一個(gè)全新的郵件傳輸協(xié)議。但是這個(gè)協(xié)議還是過(guò)于復(fù)雜了,于是人們?cè)谒幕A(chǔ)上又進(jìn)行了改進(jìn),縱欲在1981年的RFC780中發(fā)布了簡(jiǎn)單郵件傳輸協(xié)議,經(jīng)過(guò)一些曉得改進(jìn)后,最總形成了RFC821SMTP協(xié)議,這也正是今天的電子郵件系統(tǒng)的標(biāo)準(zhǔn)傳輸協(xié)議。 統(tǒng)一的郵件傳輸協(xié)議自然需要統(tǒng)一的郵件格式,1982年,克魯克在RFC733的基礎(chǔ)上編寫(xiě)RFC822APRAInternet文本信息格式標(biāo)準(zhǔn),他也最終成為電子郵件的標(biāo)準(zhǔn)格式。但是在RFC822格式中,郵件都是文本格式的,沒(méi)有考慮非文本的郵件內(nèi)容問(wèn)題。很快人們就對(duì)電子郵件提出更多的要求,希望能用它來(lái)發(fā)送非文本格式的附件,如圖片,多媒體文件等。于是在1996年又發(fā)布了RFC20452049,規(guī)定了MIME編碼格式。通過(guò)這種格式,可以實(shí)現(xiàn)各種文件和文本信息之間的無(wú)損轉(zhuǎn)換,這樣就可以將他們封裝在標(biāo)準(zhǔn)RFC822格式的文本郵件中直接發(fā)送,從而使電子郵件系統(tǒng)也可以發(fā)送非文本的信息了。 后來(lái),人們根據(jù)郵件系統(tǒng)中使用的問(wèn)題,又陸續(xù)對(duì)SMTP協(xié)議以及其父樹(shù)協(xié)議進(jìn)行了一些小的修改,如增加用戶(hù)身份認(rèn)證功能等。到目前為止,SMTP協(xié)議的最新版本是RFC2821,郵件格式規(guī)范的最新版本是RFC2822。這便是現(xiàn)代電子郵件系統(tǒng)的出現(xiàn)。 從以上分析中可以得出這樣的結(jié)論,由于在電子郵件系統(tǒng)存在的種種缺陷,我們要學(xué)會(huì)重新設(shè)計(jì)出一種全新的,每個(gè)地方都考慮到并徹底解決各種安全問(wèn)題和隱患的電子郵件系統(tǒng),用它來(lái)代替現(xiàn)有的電子郵件系統(tǒng)給人們提供更高一層的服務(wù)。但遺憾的是,由于各種現(xiàn)實(shí)的問(wèn)題,(如環(huán)境,技術(shù),資金等)使其在可預(yù)見(jiàn)的未來(lái),仍然是一個(gè)不可能實(shí)現(xiàn)的任務(wù),但是無(wú)論如何,一個(gè)已經(jīng)成功的或者試圖成功的電子郵件系統(tǒng),必須要能夠較好的解決這些問(wèn)題2。1.3 系統(tǒng)特點(diǎn) 郵件服務(wù)器提供的服務(wù)類(lèi)型,可以分為發(fā)送郵件服務(wù)器(簡(jiǎn)稱(chēng)發(fā)送服務(wù)器)和接收郵件服務(wù)器(簡(jiǎn)稱(chēng)接收郵件服務(wù)器)。發(fā)送郵件服務(wù)器使用郵件發(fā)送協(xié)議,現(xiàn)在常用的是SMTP,所以通常發(fā)送郵件服務(wù)器也稱(chēng)為SMTP服務(wù)器;接收郵件服務(wù)器使用接收郵件協(xié)議,常用的是POP3協(xié)議,所以通常接收郵件服務(wù)器也稱(chēng)為POP3服務(wù)器。 SMTP(Simple Mail Transfer Protocol),即簡(jiǎn)單的郵件傳送協(xié)議,是互聯(lián)網(wǎng)傳送電子郵件的基本協(xié)議,是TCP/IP協(xié)議組的成員,它可以解決郵件系統(tǒng)如何通過(guò)一條鏈路,把郵件從一臺(tái)機(jī)器上傳送到另一臺(tái)機(jī)器上的問(wèn)題,它的特點(diǎn)是具有很好的可伸縮性和簡(jiǎn)單性,因此它在廣域網(wǎng)和局域網(wǎng)都能適用,并且在Internet上能夠發(fā)送郵件的服務(wù)器幾乎都支持SMTP協(xié)議,這也正是它成功的關(guān)鍵。服務(wù)器接收客戶(hù)端發(fā)過(guò)來(lái)的SMTP協(xié)議格式的命令,這些命令有HELO ,MAIL FROM,RCPT TO,DATA,QUIT,服務(wù)器接到這些命令后,給出對(duì)應(yīng)的響應(yīng)碼,然后發(fā)給客戶(hù)端。 POP3(Post Office Protocol 3)是郵局協(xié)議的第3個(gè)版本,它規(guī)定郵件客戶(hù)端怎么從服務(wù)器那里接收郵件,是第一個(gè)電子郵件的離線(xiàn)協(xié)議標(biāo)準(zhǔn)。它既允許接收服務(wù)器向郵件用戶(hù)發(fā)送郵件,也可以接收來(lái)自SMTP服務(wù)器的郵件,郵件客戶(hù)端軟件會(huì)與POP3服務(wù)器之間進(jìn)行交互,下載由POP3服務(wù)器接收到的郵件,POP3協(xié)議支持用戶(hù)從服務(wù)器上接收郵件然后存儲(chǔ)到自己的計(jì)算機(jī)上,同時(shí)根據(jù)客戶(hù)端的操作刪除或保存在郵件服務(wù)器上的郵件,服務(wù)器接收客戶(hù)端發(fā)過(guò)來(lái)的POP3協(xié)議格式的命令,這些命令有USER,PASS,LIST,RETR,DELE,REST,QUIT,服務(wù)器接到這些命令后,給出對(duì)應(yīng)的響應(yīng)信息+OK或者-ERR,然后連同郵件信息發(fā)給客戶(hù)端。基于POP3協(xié)議的郵件系統(tǒng)能提供快捷,實(shí)惠的服務(wù),因此深受廣大用戶(hù)的青睞。POP3協(xié)議也是TCP/IP協(xié)議族中的一員,由RFC 1939 定義。第2章 相關(guān)技術(shù)和工具簡(jiǎn)介2.1 .Swing簡(jiǎn)介 Swing是一個(gè)專(zhuān)門(mén)用于開(kāi)發(fā)Java用戶(hù)界面程序的工具包。它是在抽象窗口工具包(AWT)的基礎(chǔ)上讓跨平臺(tái)JAVA程序能夠使用所有可插拔的界面風(fēng)格,Swing程序員只需要用簡(jiǎn)單的代碼就能夠利用Swing模塊化的,豐富的功能和靈活的組件來(lái)編出漂亮的系統(tǒng)界面。工具包中的包都以swing來(lái)命名的,例如javax.swing.event。 Swing開(kāi)發(fā)包全部是用Java來(lái)實(shí)現(xiàn)的,Swing本身不依賴(lài)于操作系統(tǒng),也沒(méi)有除JAVA之外的其它代碼,是一個(gè)輕量級(jí)的組件,這就是他和AWT的卻別。因?yàn)锳WT是通過(guò)與具體操作系統(tǒng)相關(guān)的對(duì)等類(lèi)來(lái)實(shí)現(xiàn)的,所以Swing要比AWT具有更加強(qiáng)的實(shí)用性。Swing在所有平臺(tái)上的表現(xiàn)都是一致的,并且能表現(xiàn)出除當(dāng)前系統(tǒng)之外的其它界面風(fēng)格。Swing效仿了MVC的設(shè)計(jì)模式,即模型-視圖-控制,其中模型是專(zhuān)門(mén)用來(lái)存放內(nèi)容的,視圖是專(zhuān)門(mén)用來(lái)查看內(nèi)容的,控制器是用來(lái)負(fù)責(zé)用戶(hù)輸入的。在AWT中,由于控制界面外觀(guān)的對(duì)等類(lèi)和具體的平臺(tái)息息相關(guān),因而AWT組件的外觀(guān)只和本機(jī)的外觀(guān)相關(guān),但是Swing能使程序在一個(gè)操作系統(tǒng)上運(yùn)行的時(shí)候有不同的外觀(guān)以供用戶(hù)可以選擇自己習(xí)慣的外觀(guān)。2.2 Java Mail簡(jiǎn)介Java Mail是由Sun提供的API,但是它沒(méi)有被放在JAVA標(biāo)準(zhǔn)的基本開(kāi)發(fā)包中,表明你在開(kāi)發(fā)JAVA MAIL系統(tǒng)時(shí)需要另外下載JAVAMAIL包。另外,你還得下載Sun公司的JAF包,JAF非常復(fù)雜,JAVAMAIL的運(yùn)行需要JAF的支持。Java Mail包是可選的,因此如果需要使用的話(huà)你需要首先從下載。目前最新版本是JavaMail1.4,使用JavaMail的時(shí)候需要下載JAF,安裝Java Mail只是需要把他們加入到CLASSPATH中去,如果你不想修改CLASSPATH的話(huà),可以直接把他們的jar包c(diǎn)opy到JAVA_HOME/lib/ext下,這樣Java Mail就安裝好了5。Java Mail包中用于處理電子郵件的核心類(lèi)是:Session,Message,Address,Authenticator,Transport,Store,Folder等。Session定義了一個(gè)基本的郵件會(huì)話(huà),它需要從Properties中讀取類(lèi)似于郵件服務(wù)器,用戶(hù)名和密碼等信息。另外很好的實(shí)現(xiàn)了Java Mail API的框架有James、Spring Mail。2.3 Java平臺(tái)簡(jiǎn)介Java平臺(tái)由Java虛擬機(jī)和Java核心類(lèi)所構(gòu)成,它為純Java程序提供了統(tǒng)一的編程接口,而不管下層操作系統(tǒng)是什么,Java平臺(tái)更分細(xì)一點(diǎn)的話(huà)主要是由一個(gè)compiler(編譯器),一個(gè)運(yùn)行環(huán)境(runtime environment),和一個(gè)核心的API組成。Java應(yīng)用編程接口為Java應(yīng)用提供了一個(gè)獨(dú)立于操作系統(tǒng)的標(biāo)準(zhǔn)接口,可分為基本部分和擴(kuò)展部分,在安裝了Java運(yùn)行平臺(tái)后,Java程序就能夠被運(yùn)行了。Java API為分為基本部分與擴(kuò)展部分,Java應(yīng)用提供了一個(gè)獨(dú)立于操作系統(tǒng)的標(biāo)準(zhǔn)接口。因此Java程序只需要編譯一次,就可以在所有系統(tǒng)中運(yùn)行。Java應(yīng)用編程接口已經(jīng)從1.1x版發(fā)展到1.2版。目前常用的JDK版本是1.6,最新版本為1.7。與傳統(tǒng)程序不同,Sun 公司在推出 Java 之際就將其作為一種開(kāi)放的技術(shù),全球數(shù)以萬(wàn)計(jì)的 Java 開(kāi)發(fā)公司被要求所設(shè)計(jì)的 Java 軟件必須相互兼容,“Java 語(yǔ)言靠群體的力量而非公司的力量”為Sun公司的一個(gè)口號(hào),并得到了大多數(shù)軟件開(kāi)發(fā)公司的認(rèn)同,這和微軟公司的模式不同,微軟提倡的是注重精英和封閉的模式, Java 程序設(shè)計(jì)語(yǔ)言是個(gè)面向?qū)ο蟮模?jiǎn)單的、解釋性的、分布式的、安全的、健壯與系統(tǒng)無(wú)關(guān)、高性能、可移植、動(dòng)態(tài)和多線(xiàn)程的語(yǔ)言。Java 平臺(tái)是基于 Java 語(yǔ)言的平臺(tái),這樣的平臺(tái)非常流行,因此微軟公司推出了與之競(jìng)爭(zhēng)的.NET平臺(tái)以及模仿Java的C#語(yǔ)言,Java是一個(gè)可以在不同操作系統(tǒng)(例如windows, unix等)上運(yùn)行的編程語(yǔ)言,java平臺(tái)是指運(yùn)行在各種終端(如pc、服務(wù)器、移動(dòng)設(shè)備、嵌入式設(shè)備)的系統(tǒng)軟件,PC機(jī)上的java程序是用java SE開(kāi)發(fā)出來(lái)的,服務(wù)器端的java程序是用javaEE開(kāi)發(fā)出來(lái)的,移動(dòng)設(shè)備的java程序是用java ME開(kāi)發(fā)出來(lái)的。2.4 Eclipse簡(jiǎn)介Eclipse是一個(gè)開(kāi)放源代碼的、基于Java的可擴(kuò)展開(kāi)發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組服務(wù),用于通過(guò)插件組件構(gòu)建開(kāi)發(fā)環(huán)境。幸運(yùn)的是,Eclipse附帶了一個(gè)標(biāo)準(zhǔn)的插件集,包括Java開(kāi)發(fā)工具(Java Development Kit,JDK)。 雖然大多數(shù)用戶(hù)很樂(lè)于將Eclipse當(dāng)作Java集成開(kāi)發(fā)環(huán)境(IDE)來(lái)使用,但Eclipse 的目標(biāo)卻不僅限于此。Eclipse還包括插件開(kāi)發(fā)環(huán)境(Plug-in Development Environment,PDE),這個(gè)組件主要針對(duì)希望擴(kuò)展Eclipse的軟件開(kāi)發(fā)人員,因?yàn)樗试S他們構(gòu)建與Eclipse環(huán)境無(wú)縫集成的工具。由于Eclipse中的每樣?xùn)|西都是插件,對(duì)于給Eclipse提供插件,以及給用戶(hù)提供一致和統(tǒng)一的集成開(kāi)發(fā)環(huán)境而言,所有工具開(kāi)發(fā)人員都具有同等的發(fā)揮場(chǎng)所。這種平等和一致性并不僅限于Java開(kāi)發(fā)工具。盡管Eclipse是使用Java語(yǔ)言開(kāi)發(fā)的,但它的用途并不限于Java語(yǔ)言;例如,支持諸如C/C+和COBOL等編程語(yǔ)言的插件已經(jīng)可用,或預(yù)計(jì)將會(huì)推出。Eclipse框架還可用來(lái)作為與軟件開(kāi)發(fā)無(wú)關(guān)的其他應(yīng)用程序類(lèi)型的基礎(chǔ),比如內(nèi)容管理系統(tǒng)?;贓clipse的應(yīng)用程序的一個(gè)突出例子是IBM® Rational® Software Architect,它構(gòu)成了IBM Java開(kāi)發(fā)工具系列的基礎(chǔ)。至于Eclipse的安裝首先要?jiǎng)?chuàng)建一個(gè)java的工作環(huán)境,在sun的網(wǎng)站上下載j2se,安裝到自己的系統(tǒng)中,我下載的是1.4版本,安裝目錄為“D:j2sdk1.4.2_04”。下載地址為:/j2se/1.4.2/download.html設(shè)置環(huán)境參數(shù)的步驟如下: 右鍵“我的電腦”“屬性”“高級(jí)”“環(huán)境變量”增加: java_homeD:j2sdk1.4.2_04 ClassPath=d:j2sdk1.4.2_04;d:j2sdk1.4.2_04libtools.jar;d:j2sdk1.4. 2_04libdt.jar;d:j2sdk1.4.2_04bin Pathd:j2sdk1.4.2_04bin環(huán)境就設(shè)置好了。第3 章 系統(tǒng)需求分析和總體設(shè)計(jì)31用戶(hù)對(duì)電子郵件系統(tǒng)需求 (1)方便性。電子郵件系統(tǒng)可以像離線(xiàn)QQ信息一樣,在自己有時(shí)間的時(shí)候可以處理記錄下來(lái)的請(qǐng)求,通過(guò)電子郵件可以方便快捷地傳送文本信息、圖像文件、報(bào)表和計(jì)算機(jī)程序等信息。 (2)快捷性。電子郵件在傳遞過(guò)程中,若某個(gè)通信站點(diǎn)發(fā)現(xiàn)用戶(hù)給出的收信人的電子郵件地址有錯(cuò)誤而無(wú)法繼續(xù)傳遞時(shí),電子郵件會(huì)迅速地將原信件逐站退回,并告知其原因。當(dāng)郵件被送到目的地后,該計(jì)算機(jī)的郵件系統(tǒng)就立即將它放人收件人的信箱中,等候用戶(hù)自行讀取。用戶(hù)只要隨時(shí)以計(jì)算機(jī)聯(lián)機(jī)方式打開(kāi)自己的電子郵件信箱,便可以查看自己的郵件。 (3)廣域性。電子郵件系統(tǒng)具有開(kāi)放性,許多沒(méi)有連接到互聯(lián)網(wǎng)的用戶(hù)能夠通過(guò)本機(jī)的網(wǎng)關(guān)(Gateway)和網(wǎng)絡(luò)上的用戶(hù)相互交換郵件。 (4)透明性。電子郵件系統(tǒng)采用“存儲(chǔ)轉(zhuǎn)發(fā)”的方法幫助用戶(hù)傳送電子郵件,通過(guò)在互聯(lián)網(wǎng)絡(luò)的一些通信節(jié)點(diǎn)計(jì)算機(jī)上運(yùn)行相應(yīng)的軟件,使這些計(jì)算機(jī)充當(dāng)“郵局”的角色。當(dāng)用戶(hù)希望通過(guò)互聯(lián)網(wǎng)絡(luò)給別人發(fā)送郵件時(shí),首先要與為自己提供電子郵件的計(jì)算機(jī)聯(lián)機(jī),然后把要發(fā)送的郵件和收件人的郵件地址發(fā)給郵件系統(tǒng)。電子郵件系統(tǒng)就會(huì)把用戶(hù)的郵件通過(guò)網(wǎng)絡(luò)一站一站地送到目的地,所有過(guò)程對(duì)于用戶(hù)來(lái)說(shuō)都是透明的。 (5)廉價(jià)性。網(wǎng)絡(luò)的空間可以說(shuō)是無(wú)限大的,公司能夠?qū)⒉煌漠a(chǎn)品以及服務(wù)信息放置在網(wǎng)絡(luò)上,這樣用戶(hù)就能夠隨時(shí)從網(wǎng)絡(luò)上獲取這些信息,并且相對(duì)于電話(huà),郵寄或印刷來(lái)說(shuō)在網(wǎng)上存儲(chǔ)與發(fā)送信息是非常廉價(jià)的。在公司與顧客“一對(duì)一”關(guān)系的電子郵件服務(wù)中,費(fèi)用低廉,從而節(jié)約大量費(fèi)用。 (6)全天性。對(duì)顧客而言,電子郵件的優(yōu)點(diǎn)之一是沒(méi)有任何時(shí)間上的限制。一天24小時(shí),一年365天內(nèi),任何時(shí)間都可發(fā)送電子郵件。比如,當(dāng)顧客發(fā)生問(wèn)題時(shí),他們隨時(shí)都可以把發(fā)生的問(wèn)題發(fā)送給公司,而公司有關(guān)負(fù)責(zé)人可以在他方便的時(shí)候,查閱這些信件,決定哪些信件必須首先處理,哪些可以稍后處理,哪些應(yīng)該轉(zhuǎn)發(fā)給其他部門(mén)去承辦。而以前沒(méi)有電子郵件時(shí),顧客的產(chǎn)品本身或產(chǎn)品在使用過(guò)程中發(fā)生了問(wèn)題,需要等到公司人員上班時(shí),才能給公司打電話(huà)。而且什么時(shí)候打電話(huà)也很講究,打早了,公司負(fù)責(zé)人還沒(méi)有上班,打晚了公司負(fù)責(zé)人又可能出去開(kāi)會(huì)了。電子郵件的全天候服務(wù),從根本上解決了這種狀況,大大改善了公司與顧客的關(guān)系,改善了公司對(duì)顧客的服務(wù)。3.2產(chǎn)品可行性分析 電子郵件系統(tǒng)包括電子郵件客戶(hù)端和電子郵件服務(wù)器端,其中通過(guò)SMTP協(xié)議進(jìn)行發(fā)送郵件,POP3協(xié)議進(jìn)行接收郵件。電子郵件系統(tǒng)的工作過(guò)程和相關(guān)收發(fā)協(xié)議如下圖: 圖3.1電子郵件系統(tǒng)工作過(guò)程圖 Java Mail是Sun發(fā)布的用來(lái)處理E-mail的API。它可以方便的執(zhí)行一些常用的郵件傳輸。Java Mail API是Java對(duì)電子郵件處理的延伸,它可以處理各種E-mail格式,包括IMAP,POP3,SMTP,為Java應(yīng)用程序提供了收發(fā)電子郵件的公共接口,如下圖所示: 圖3.2JavaMail API的客戶(hù)端工作原理圖 JavaMail API主要位于ernet中,主要類(lèi)框架圖如下: 圖3.3 JavaMail API中主要類(lèi)的框架圖 1.java x.mail.Session:Session類(lèi)代表JavaMail中的一次郵件會(huì)話(huà).每個(gè)基于JavaMail的應(yīng)用程序至少有一次會(huì)話(huà),也可以產(chǎn)生多次會(huì)話(huà).發(fā)送郵件之前,通常應(yīng)該建立郵件會(huì)話(huà)。 它的作用有: (1)接收各種配置屬性信息:通過(guò)Properties對(duì)象設(shè)置的屬性信息; (2)初始化JavaMail環(huán)境:根據(jù)JavaMail的配置文件,初始化JavaMail環(huán)境以便通過(guò)Session對(duì)象創(chuàng)建其他重要類(lèi)的實(shí)例。 2.javax.mail.Transport:郵件操作只有發(fā)送或接收兩種處理方式,JavaMail將這兩種不同操作描述為傳輸(javax.mail.Transport)和存儲(chǔ)(javax.mail.Store),傳輸對(duì)應(yīng)郵件的發(fā)送,而存儲(chǔ)對(duì)應(yīng)郵件的接收。 3.java.mail.Store 該類(lèi)實(shí)際特定郵件協(xié)議上的讀,寫(xiě),監(jiān)視,查找等操作,通過(guò)javax.mail.Store類(lèi)可以訪(fǎng)問(wèn)javax.mail.Folder類(lèi). 4.javax.mail.MimeMessage該對(duì)象是實(shí)際發(fā)送的電子郵件的信息.郵件對(duì)象通常使用MimeMessage創(chuàng)建,創(chuàng)建該對(duì)象時(shí)應(yīng)傳入一個(gè)郵件會(huì)話(huà)參數(shù).該類(lèi)采用InternetHeaders類(lèi)來(lái)解析和保存e-mail的頂級(jí)RFC 822文件頭9.該類(lèi)包含如下屬性: Protected byte content 該e-mail內(nèi)容的字節(jié)數(shù)組 protected internetHeaders headers 返回保存該e-mail的文件頭的對(duì)象 void addFrom(Address addresses 為該e-mail設(shè)置發(fā)件人的地址 void addHeader(String name ,String value) 在name的文件頭內(nèi)容上增加value; void addRecipients(Message.RecipientType type, Address addresses)該方法還 有一個(gè)重載的方法,都是增加指定類(lèi)型的收件地址. Address getFrom返回該e-mail的發(fā)件人的地址列表 void setContent(Multipart mp) 為該e-mail設(shè)置內(nèi)容 5.javax.mail.Address 該對(duì)象用于確定發(fā)件人/收件人地址.和Message一樣,Address是個(gè)抽象類(lèi),時(shí)間使用的是他的子類(lèi),ernetAddress類(lèi). 一旦您創(chuàng)建了Session 和Message,并將內(nèi)容填入消息后,就可以用Address 確定信件地址了 6.javax.mail.Folder:Folder類(lèi)用于分級(jí)組織郵件,并提供照J(rèn)avax.mail.Message格式訪(fǎng)問(wèn)email的能力。3.3系統(tǒng)總體設(shè)計(jì) 3.3.1 電子郵件系統(tǒng)所包含的功能 圖3.4 系統(tǒng)功能圖 本系統(tǒng)主要包括: (1)登錄系統(tǒng):用某個(gè)郵箱的賬號(hào)和密碼登錄; (2)接收郵件:從指定郵箱服務(wù)器獲取郵件; (3)發(fā)送郵件:用此賬號(hào)發(fā)送郵件到指定的電子郵箱地址,包括發(fā)送普通 文本和附件; (4)群發(fā)郵件: 將郵件群發(fā)給指定郵件地址列表,包括抄送等; (5)郵件管理:查看郵件,刪除郵件; (6)系統(tǒng)配置:配置郵箱服務(wù)器的smtp地址和pop3地址;3.3.2電子郵件收發(fā)過(guò)程圖3.5電子郵件收發(fā)過(guò)程圖 電子郵件服務(wù)基于客戶(hù)/服務(wù)器模式,其工作過(guò)程如下:郵件客戶(hù)端和郵件服務(wù)器通過(guò)POP3協(xié)議收取郵件;通過(guò)SMTP傳輸郵件內(nèi)容,實(shí)現(xiàn)郵件信息交換。SMTP通過(guò)用戶(hù)代理(UA)和郵件傳輸代理程序(MTA)實(shí)現(xiàn)郵件的傳輸。 發(fā)送方編輯完畢的電子郵件發(fā)送給當(dāng)?shù)氐泥]件服務(wù)器,郵件服務(wù)器收到客戶(hù)送來(lái)的郵件,根據(jù)收件人的郵件地址發(fā)送到對(duì)方的郵件服務(wù)器中。對(duì)方的郵件服務(wù)器接收到其他郵件服務(wù)器發(fā)來(lái)的郵件,并根據(jù)郵件地址分發(fā)到相應(yīng)的電子郵箱中,這樣接受方可通過(guò)電子郵箱來(lái)讀取郵件,并對(duì)他們進(jìn)行相關(guān)的處理。 電子郵件在發(fā)送與接收過(guò)程中都要遵循SMTP、POP3等協(xié)議,這些協(xié)議確保了電子郵件在各種不同系統(tǒng)之間的傳輸。其中,SMTP負(fù)責(zé)電子郵件的發(fā)送,而POP3則用于接收Internet上的電子郵件。 3.3.3 服務(wù)器的設(shè)置 用戶(hù)在發(fā)送和接收郵件的時(shí)候,需要設(shè)置好郵件服務(wù)器的地址、郵箱賬號(hào)和密碼等這些信息。該系統(tǒng)提供了對(duì)上述配置的設(shè)置和存儲(chǔ)功能,這里,我們將配置信息存儲(chǔ)在一個(gè)屬性文件里面。其文件名為perties,位于工程的根目錄下,可使用perties 類(lèi)的setProperty()方法和getProperty()方法對(duì)屬性文件中的屬性?xún)?nèi)容進(jìn)行存取。本系統(tǒng)smtp perties文件的內(nèi)容格式如下 : popAddress=pop3服務(wù)器地址(如) smtpAddress=smtp服務(wù)器地址(如) username=用戶(hù)名(如x y z) password=密碼(如123456) 第4章 詳細(xì)設(shè)計(jì)4.1 登錄功能的設(shè)計(jì) (1)選擇登錄服務(wù)器,連接服務(wù)器。 (2)選擇指定的郵件地址和密碼。在本系統(tǒng)中有所提供的Mail服務(wù)器創(chuàng)建了賬戶(hù)進(jìn)行登錄。必須選用正確的郵件地址和密碼才可以登錄,在該模塊中,用戶(hù)輸入賬戶(hù)和密碼,程序會(huì)根據(jù)用戶(hù)輸入的用戶(hù)名和密碼在用戶(hù)信息數(shù)表中查找,如果查找成功,就進(jìn)入系統(tǒng)主界面,如果查找失敗,就會(huì)報(bào)錯(cuò)。 登錄的設(shè)計(jì)主要有下圖的幾個(gè)步驟。 圖4.1登錄流程圖4.2發(fā)送郵件的設(shè)計(jì) (1)編寫(xiě)文本郵件。該內(nèi)容是電子郵件系統(tǒng)中最基本的功能。用戶(hù)需填寫(xiě)郵件信息:包括收件人,主題,文字內(nèi)容。 (2)上傳附件。在編寫(xiě)郵件時(shí),郵件內(nèi)容可以和附件(如圖片,聲音等)一起發(fā)送,這樣就需要先將附件上傳到服務(wù)器,然后再發(fā)送給對(duì)方。 發(fā)送郵件的設(shè)計(jì)如下圖所示: 圖4.2發(fā)送郵件流程圖4.3接收郵件的設(shè)計(jì) (1)接收郵件。包括發(fā)件人,發(fā)件時(shí)間。這是一個(gè)電子郵件系統(tǒng)最基本的功能。(2)瀏覽到郵件列表,也可看到郵件主題,是按時(shí)間先后排序。 接收郵件的設(shè)計(jì)如下圖所示: 圖4.3接收郵件流程圖4.4郵件管理的設(shè)計(jì) (1)查看郵件內(nèi)容。包括發(fā)郵件的時(shí)間,郵件的內(nèi)容和主題,以及發(fā)件人,以達(dá)到信息傳遞 (2)刪除郵件。要?jiǎng)h除郵件,只需先選擇某郵件,再單擊刪除命令就可以刪除郵件。此外還可以批量刪除郵件,這也只需要多個(gè)選擇郵件,再單擊刪除就能實(shí)現(xiàn)。 郵件管理的設(shè)計(jì)如下圖所示:圖4.4郵件管理圖第5章 系統(tǒng)功能的編碼實(shí)現(xiàn)5.1用戶(hù)登錄界面的實(shí)現(xiàn) 用戶(hù)選擇對(duì)應(yīng)的郵件服務(wù)器 然后輸入賬號(hào)密碼登錄,郵件服務(wù)器的配置會(huì)保存到配置文件中。例如 選擇的是 則SMTP地址為:,POP3地址為:。 5.1 登錄界面圖 部分實(shí)現(xiàn)的核心代碼: private boolean saveConfig() String server = (String) typeBox.getSelectedItem();ConfigBean configBean = new ConfigBean();configBean.setUserName(userNameText.getText() + server);configBean.setPassWord(passWordText.getText();configBean.setType(server);if (server.equals() configBean.setSmtpAddress();configBean.setPopAddress(); else if (server.equals(163.com) configBean.setSmtpAddress();configBean.setPopAddress(); else configBean.setUserName(userNameText.getText() + );configBean.setSmtpAddress();configBean.setPopAddress();ReturnType type = PropertiesUtility.saveConfig(configBean);if (type = ReturnType.RIGHT) return true;return false;5.2主界面的實(shí)現(xiàn) 當(dāng)用戶(hù)登錄后,會(huì)進(jìn)入到該界面,可以選擇需要的服務(wù)(發(fā)郵件,收郵件,服務(wù)器配置(Config),點(diǎn)擊左邊的相應(yīng)郵件功能按鈕,右邊會(huì)顯示相應(yīng)的郵件界面。圖5.2主界面圖 部分實(shí)現(xiàn)的核心代碼: public void setLayout() try loadImage();container = this.getContentPane();container.setLayout(null);container.setBackground(new Color(168, 193, 227);this.setIconImage(titleImage);setLeftPanel();setSendPanel();container.add(controlPanel); catch (Exception e) System.out.println(e.getMessage(); 5.3 郵件配置界面的實(shí)現(xiàn) 點(diǎn)擊主界面上方的config按鈕會(huì)彈出改配置框,通過(guò)該界面可以查看以及修改賬戶(hù)和服務(wù)器地址圖5.3郵件配置界面圖 部分實(shí)現(xiàn)代碼: private void addUserName() userNameLabel = new JLabel(UserName:); userNameLabel.setFont(new Font(黑體, Font.BOLD, 14); userNameLabel.setBounds(14, 25, 72, 15); container.add(userNameLabel); userNameText = new JTextField(); userNameText.setBounds(92, 20, 180, 25); container.add(userNameText); 5.4 發(fā)送郵件界面的實(shí)現(xiàn)填好收件人地址,主題,內(nèi)容,抄送或添加附件,點(diǎn)擊發(fā)送按鈕,即會(huì)發(fā)送相應(yīng)的內(nèi)容到對(duì)方郵箱。點(diǎn)擊重置按鈕所有內(nèi)容會(huì)清空。圖5.4發(fā)送郵件界面圖 部分實(shí)現(xiàn)的代碼: public void addButton() send = new JButton(發(fā) 送); send.setBounds(80, 425, 100, 30); sendPanel.add(send); send.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) boolean temp = check_Text();if (temp) send_Event(); );JButton reset = new JButton(重 置);reset.setBounds(300, 425, 100, 30);sendPanel.add(reset);reset.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) reset_Event(););5.5 接收郵件界面的實(shí)現(xiàn) 點(diǎn)擊收取郵件按鈕 就可收取該賬戶(hù)的郵件,并按先后時(shí)間顯示郵件列表。圖5.5接收郵件的界面圖 部分實(shí)現(xiàn)的代碼: public void initTable() defaultTable = new MyTableModel();addColumnName(defaultTable);table = new JTable(defaultTable);setTableAttr();JScrollPane scrollPane = new JScrollPane(table);scrollPane.setBounds(5, 25, 475, 400);receivePanel.add(scrollPane);defaultTable.addTableModelListener(new TableModelListener() Overridepublic void tableChanged(TableModelEvent e) );table.addMouseListener(new MouseAdapter() Overridepublic void mouseClicked(MouseEvent e) mouse_Event(e););第6章 系統(tǒng)實(shí)現(xiàn)的功能測(cè)試 6.1 登錄郵箱測(cè)試 圖6.1登錄郵箱測(cè)試 選擇好服務(wù)器,然后輸入對(duì)應(yīng)的賬號(hào)和密碼 然后點(diǎn)擊登錄,則登錄郵箱成功然后會(huì)進(jìn)入到如上圖所示的主界面6.2發(fā)送郵件測(cè)試 包括發(fā)送文字和附件,以及抄送測(cè)試。抄送就是你寫(xiě)的這封郵件能同時(shí)發(fā)給多個(gè)人,并且收件人知道你把這封郵件同時(shí)發(fā)給了他和抄送欄里寫(xiě)的郵件地址的人。圖6.2.1發(fā)送文字郵件測(cè)試圖圖6.2.2發(fā)送附件測(cè)試圖圖6.2.3抄送功能測(cè)試圖6.3接收郵件測(cè)試 點(diǎn)擊收取郵件,就能達(dá)到郵件的收取。圖6.3接收郵件測(cè)試圖6.4查看郵件內(nèi)容測(cè)試 雙擊要查看的郵件后會(huì)顯示出郵件內(nèi)容圖6.4查看郵件內(nèi)容測(cè)試圖6.5刪除郵件測(cè)試 先選擇單個(gè)要?jiǎng)h除的郵件,也可同時(shí)選擇多個(gè)要?jiǎng)h除的郵件,點(diǎn)擊刪除標(biāo)記按鈕,就能刪除郵件,并由相關(guān)提示,提醒刪除郵件成功,顯示出郵件刪除后的最新列表。 圖6.5.1 刪除單個(gè)郵件測(cè)試圖圖6.5.2刪除多個(gè)郵件測(cè)試圖 下圖是刪除郵件成功的提醒圖6.5.2 刪除郵件成功提醒圖圖6.5.3 郵件刪除后的新列表圖第7章 總結(jié)在本次畢業(yè)設(shè)計(jì)開(kāi)發(fā)過(guò)程中,我遇到了許許多多的困難,系統(tǒng)雖然基本完成,但是也仍存在一些不足,在這里只是簡(jiǎn)要敘述一些主要的困難和不足之處。在開(kāi)發(fā)郵件系統(tǒng)的過(guò)程中,中文亂碼也是一個(gè)比較棘手的問(wèn)題,因?yàn)閬y碼可能會(huì)在郵件的標(biāo)題,附件以及正文等諸多地方出現(xiàn),但是沒(méi)有某一種方法能夠解決全部的亂碼問(wèn)題,因而解決亂碼問(wèn)題也是系統(tǒng)開(kāi)發(fā)的重點(diǎn)難點(diǎn)之一。經(jīng)過(guò)一番上網(wǎng)查找和請(qǐng)教老師,終于找出導(dǎo)致亂碼可能出現(xiàn)的原因,通過(guò)網(wǎng)上和老師給予的擬采用的解決途徑,終于使亂碼問(wèn)題得到解決。此外,在郵件系統(tǒng)的開(kāi)發(fā)中如何處理各種類(lèi)型的信息成為了開(kāi)發(fā)過(guò)程中的又一個(gè)重點(diǎn)與難點(diǎn),事實(shí)上,Java Mail底層在接收處理MIME數(shù)據(jù)方面依賴(lài)與JAF,JAF提供了對(duì)MIME數(shù)據(jù)進(jìn)行處理的部件,它通常用于發(fā)送附件以及實(shí)現(xiàn)對(duì)MIME數(shù)據(jù)的常用操作。在開(kāi)發(fā)過(guò)程中要編寫(xiě)的東西很多。并且由于自己剛接觸,很多都不熟悉,所以出現(xiàn)問(wèn)題解決速度很慢,對(duì)功能的實(shí)現(xiàn)方法也比較少。本次畢業(yè)設(shè)計(jì)在很多地方未能考慮周全以至于系統(tǒng)存在著很多不足之處,這些不足主要是由于時(shí)間不足造成的,這就需要在以后系統(tǒng)維護(hù)過(guò)程中逐步發(fā)現(xiàn),并不斷進(jìn)行升級(jí),都有待進(jìn)一步改善。通過(guò)本次課程設(shè)計(jì),對(duì)java mail也有一些感悟,感覺(jué)它真是一個(gè)神奇的東西,里面富含那么多的類(lèi),給人們帶來(lái)了極大的方便。一個(gè)人編寫(xiě)代碼真的是很容易出現(xiàn)一些可能看不到的小問(wèn)題,從古至今人們確實(shí)從自己身上找問(wèn)題比較難,所以說(shuō)請(qǐng)教朋友和老師,注重合作更有利于項(xiàng)目的開(kāi)發(fā)還值得一提的,實(shí)踐確實(shí)是學(xué)習(xí)一樣新技術(shù)最快的方法。理論固然要看,但是需要理論結(jié)合實(shí)踐,在實(shí)踐操作中深化對(duì)理論的理解,這樣才掌握得快。 參考文獻(xiàn)1(美)埃史爾.Java編程思想(第四版).機(jī)械工業(yè)出版社.20072 Liang,Y.D.Java語(yǔ)言程序設(shè)計(jì)基礎(chǔ)篇.機(jī)械工業(yè)出版社,20063 李金銘,林曉宇,寧正元面向?qū)ο蟪绦蛟O(shè)計(jì)Java北京:北京交通大學(xué)出版社,20054 朱福喜著Java 項(xiàng)目設(shè)計(jì)與開(kāi)發(fā)范例M北京:電子工業(yè)出版社,20055(美) Nathaniel T. Schutta, Ryan Asleson著.Ajax與Java高級(jí)程序設(shè)計(jì).郵電出版社,20076 OReilly & Associates,Inc Java Cookbookin the United States or Canada7 Oreilly,Java Servlet Programming,American:Sernni Yey8 印雯,Java語(yǔ)言與面向?qū)ο蟪绦蛟O(shè)計(jì).北京:清華大學(xué)出版,2002年. 9 畢廣吉.Java程序設(shè)計(jì)實(shí)例教程M. 北京:冶金工業(yè)出版社,2007年10張桂珠,劉麗,陳愛(ài)國(guó) Java面向?qū)ο蟪绦蛟O(shè)計(jì)(第2版) 北京郵電大學(xué)出版社11劉騰紅,孫細(xì)明.信息系統(tǒng)分析與設(shè)計(jì)M. 北京:科學(xué)出版社,2003年致 謝在老師和同學(xué)的支持與幫助下,我順利地完成了本次畢業(yè)設(shè)計(jì)。通過(guò)這段
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年電子商務(wù)師(中級(jí))職業(yè)技能鑒定模擬試題庫(kù)及答案
- 2025年大學(xué)英語(yǔ)四級(jí)聽(tīng)力理解強(qiáng)化試卷高分技巧
- 2025年電子廢棄物回收產(chǎn)業(yè)鏈優(yōu)化與無(wú)害化處理技術(shù)創(chuàng)新報(bào)告
- 學(xué)前教育機(jī)構(gòu)師資隊(duì)伍教育科研能力提升與成果轉(zhuǎn)化研究報(bào)告001
- 2025年腹瀉病診療試題
- 水鄉(xiāng)人家我的家鄉(xiāng)風(fēng)景作文(14篇)
- 建筑創(chuàng)新論壇2025:3D打印技術(shù)趨勢(shì)與挑戰(zhàn)鑒定報(bào)告
- 農(nóng)村社區(qū)環(huán)境治理與農(nóng)民合作合同
- 物流運(yùn)輸行業(yè)從業(yè)經(jīng)歷及收入證明(5篇)
- 2025年環(huán)保設(shè)備制造業(yè)市場(chǎng)前景與創(chuàng)新產(chǎn)品研發(fā)動(dòng)態(tài)報(bào)告
- 人教版三年級(jí)語(yǔ)文上冊(cè)期末試卷及答案【完整】
- ptfe膜雨棚施工方案
- 人工智能倫理規(guī)則
- 米亞羅-孟屯河谷風(fēng)景名勝區(qū)旅游基礎(chǔ)設(shè)施建設(shè)項(xiàng)目環(huán)評(píng)報(bào)告
- 婦產(chǎn)科護(hù)理學(xué)教材(課后思考題參考答案)
- 沖突管理與溝通技巧
- 全同態(tài)加密算法概述
- 電流、電壓指針儀表校驗(yàn)報(bào)告
- 六年級(jí)下冊(cè)英語(yǔ)素材-Unit-6-General-revision-3-知識(shí)點(diǎn)-人教精通版
- BS2000標(biāo)準(zhǔn)操作規(guī)程
- 中等職業(yè)學(xué)校英語(yǔ)課程標(biāo)準(zhǔn)(2020年版)(word精排版)
評(píng)論
0/150
提交評(píng)論