BS結(jié)構(gòu)下的郵件系統(tǒng)的設計與開發(fā)_第1頁
BS結(jié)構(gòu)下的郵件系統(tǒng)的設計與開發(fā)_第2頁
BS結(jié)構(gòu)下的郵件系統(tǒng)的設計與開發(fā)_第3頁
BS結(jié)構(gòu)下的郵件系統(tǒng)的設計與開發(fā)_第4頁
BS結(jié)構(gòu)下的郵件系統(tǒng)的設計與開發(fā)_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、bs結(jié)構(gòu)下的郵件系統(tǒng)的設計與開發(fā) 摘要 隨著網(wǎng)絡的逐漸普及,email在人們生活中應用日益廣范,除了專業(yè)的郵件服務系統(tǒng)之外,一般大型網(wǎng)站與單位都提供了email服務。因此,本次設計是通過對smtp、pop3協(xié)議的熟悉和理解、以及對jsp編程和網(wǎng)頁設計技能的掌握,開發(fā)出一個簡單的b/s結(jié)構(gòu)下的郵件服務系統(tǒng)。能完成郵件的發(fā)送、接收、以及附件處理功能等。主要運用的軟件有eclipse,sqlserver,在java環(huán)境下,利用jsp編程來實現(xiàn)郵件系統(tǒng)的各種功能。該系統(tǒng)主要支持用戶的身份驗證,用戶只有通過正確注冊后才能進入該系統(tǒng)。在系統(tǒng)中可以查看自己的郵件也可以發(fā)送郵件到任意的郵箱,發(fā)郵件的時候可以進

2、行附件的發(fā)送。通過本次課題的學習和研究掌握了基本的web編程技能,更實踐了自我的動手能力。同時認識到在信息化高速發(fā)展的今天,高效、快速、方便的郵件收發(fā)系統(tǒng)將得到越來越多的人關(guān)注和使用,它將給人們帶來更方便快捷的生活。 關(guān)鍵詞:b/s;郵件系統(tǒng);smtp;pop3;jsp 1引言 1.1課題背景 隨著網(wǎng)絡的逐漸普及現(xiàn)在的人們對于電子郵件已經(jīng)不再陌生了,自從電子郵件進入人們的生活以來,人們對傳統(tǒng)的信件已經(jīng)不再依賴,它的可靠、快速、方便、靈活、廉價、內(nèi)容豐富等特點都在使我們更加喜歡和接受它。近年來,電子郵件飛速發(fā)展,可以看到在比較專業(yè)、服務比較全面周到的網(wǎng)站基本上都有免費電子郵件服務。他們大部分都是

3、通過各種軟件進行開發(fā)的。而在當今很流行的java技術(shù)中就包含有javamailapi,它提供了大量的類和接口來與網(wǎng)絡郵件傳輸。關(guān)于jsp,最近兩年,jsp技術(shù)發(fā)展十分迅速,它的興起讓it人員耳目一新,實現(xiàn)了長期以來的夢想。它的出現(xiàn)無疑是當今計算機技術(shù)通向計算時代的一個非常重要的里程碑。因此,本次畢業(yè)設計就是利用java技術(shù)來實現(xiàn)簡單的郵件發(fā)送和接收的功能。 1.2課題研究意義 對于用戶來說一款簡單,方便,快捷的郵件收發(fā)系統(tǒng)將會在很大程度上為用戶提供滿意的服務,制作一款能滿足用戶需求的郵件收發(fā)系統(tǒng)是每一個設計者所追求的目標。因此希望通過本次設計完成一個簡單的郵件收發(fā)系統(tǒng),實現(xiàn)郵件的接收與發(fā)送,并

4、能完成附件的傳輸,同時能實現(xiàn)郵件用戶登錄管理及郵件刪除等功能。從課題研究中更深入的了解郵件收發(fā)系統(tǒng)的設計原理,發(fā)現(xiàn)設計過程中的不足和知識的欠缺,為今后做出更好的設計打下一個堅實的基礎(chǔ)。 2相關(guān)技術(shù)和開發(fā)平臺 2.1開發(fā)環(huán)境的選擇 整個系統(tǒng)開發(fā)完全采用browser/server模式,開發(fā)平臺為java平臺,以tomcat為jsp引擎和web服務器,后臺數(shù)據(jù)庫使用sqlserver2000。 在開發(fā)模式上選擇browser/server模式,是因為b/s模式有以下優(yōu)點: 1開發(fā)成本及維護成本降低。由于b/s架構(gòu)管理軟件只安裝在服務器端(server)上,網(wǎng)絡管理人員只需要管理服務器就行了,用戶界

5、面主要事務邏輯在服務器(server)端完全通過www瀏覽器實現(xiàn),極少部分事務邏輯在前端(browser)實現(xiàn),所有的客戶端只有瀏覽器,網(wǎng)絡管理人員只需要做硬件維護。 2良好的安全性能,防火墻技術(shù)可以保證后臺數(shù)據(jù)庫的安全性。所有客戶端請求都是通過dbms來訪問數(shù)據(jù)庫,從而大大減少了數(shù)據(jù)直接暴露的風險。因此系統(tǒng)的架構(gòu)就采用了b/s設計模式。 2.2jsp技術(shù) 1.jsp簡介 jsp(javaserverpages)是由sunmicrosystems公司倡導、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標準,在傳統(tǒng)的網(wǎng)頁html文件(*.htm,*.html)中加入java程序片段(scriptlet)

6、和jsp標記(tag),就構(gòu)成了jsp網(wǎng)頁(*.jsp)。web服務器在遇到訪問jsp網(wǎng)頁的請求時,首先執(zhí)行其中的程序片段,然后將執(zhí)行結(jié)果以html格式返回給客戶。程序片段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送email等等,這就是建立動態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務器端執(zhí)行,網(wǎng)絡上傳送給客戶端的僅是得到的結(jié)果,對客戶瀏覽器的要求最低,可以實現(xiàn)無plugin,無activex,無javaapplet,甚至無frame。 在sun正式發(fā)布jsp(javaserverpages)之后,這種新的web應用開發(fā)技術(shù)很快引起了人們的關(guān)注。jsp為創(chuàng)建高度動態(tài)的web應用提供了一個獨特的開發(fā)環(huán)境。

7、jsp與microsoft的activeserverpages兼容,但是它是使用類似html的卷標以及java程序代碼段,而不是vbscript。 2.sql2000簡介 在本次畢業(yè)設計中,應用到了數(shù)據(jù)庫,在畢業(yè)設計中采用的是sql2000數(shù)據(jù)庫系統(tǒng),所以在這個地方有必要對其進行簡單的介紹。 sql是一種數(shù)據(jù)庫所用的標準語言,全名為structuredquerylanguage。microsoftsqlserver是基于sql的客戶服務器數(shù)據(jù)庫。它是一個高性能、多用戶的關(guān)系型數(shù)據(jù)庫,具有高容量的事務處理及決策支持功能,使用戶能夠用它建立大范圍的分布式系統(tǒng)。 基本上,sqlserver也是數(shù)據(jù)庫

8、的一種,與access數(shù)據(jù)庫一樣,主要的功能就是用來存儲數(shù)據(jù),但相對于access數(shù)據(jù)庫來說,sqlserver又多了一些數(shù)據(jù)庫應有的功能,整理如下: (1)安全性:在sqlserver中提供了賬號管理的功能。對于數(shù)據(jù)庫中所存儲的數(shù)據(jù),可通過賬號與密碼的管理,達到數(shù)據(jù)保密的目的。 (2)集中性:在access數(shù)據(jù)庫中,一個文件就是一個數(shù)據(jù)庫,不易集中管理,而sqlserver則是將所有的數(shù)據(jù)庫都放在同一個server中,方便用戶管理。 (3)記錄性:在sqlserver中,有一個log文件,是專門用來記錄用戶在數(shù)據(jù)庫中所進行的改變。例如,新增了哪幾條記錄,刪除哪幾條記錄,若將來發(fā)現(xiàn)執(zhí)行錯誤,即

9、可利用undo(恢復)將執(zhí)行過的動作,恢復成未改變之前的數(shù)據(jù)存儲狀態(tài)。 (4)備份性:對于access數(shù)據(jù)庫而言,所謂的備份就是將文件再復制一份,而sqlserver中則設計有一套很完整的數(shù)據(jù)庫備份系統(tǒng),讓用戶可以既方便又容易地備份數(shù)據(jù)。 (5)完整性:由于sqlserver中提供了很多數(shù)據(jù)庫相關(guān)功能,算是一個更為完整的數(shù)據(jù)庫系統(tǒng)。 sqlserver作為windows數(shù)據(jù)庫家族中出類拔萃的成員,其穩(wěn)定性和安全性是無與倫比的,這也是網(wǎng)站建設至關(guān)重要的。隨著sqlserver2000的推出,其易用性、可擴展性、穩(wěn)定性等方面又有了明顯增強。因此,我們選擇sqlserver作為建立網(wǎng)站數(shù)據(jù)庫的工具。

10、 2.3系統(tǒng)所需協(xié)議介紹 smtp(簡單郵件傳輸協(xié)議)負責郵件的發(fā)送和傳輸,使用tcp25端口,首先用戶寫好郵件之后發(fā)送給smtp服務器,smtp將郵件轉(zhuǎn)換為ascii碼并添加報頭,發(fā)送出去,郵件在internet中路由交換到達目的地的郵件服務器,對方的smtp將郵件的ascii碼解碼。 smtp協(xié)議是隨著internet的發(fā)展逐漸規(guī)范化和進一步完善的。smtp協(xié)議最早在rfc821中被定義,它提供了internet上兩個節(jié)點之間傳送信息的一種方式。smtp協(xié)議非常的簡單和直觀,在rfc821中,smtp由一些通過ascii碼表示的命令字組成,通過這些命令字,兩個節(jié)點之間(客戶機和服務器)可以

11、建立smtp連接,并進行信息傳遞。 pop協(xié)議(電子郵局協(xié)議)是一種允許用戶從郵件服務器收發(fā)郵件的協(xié)議。它有兩種版本,即pop2和pop3,都具有簡單的電子郵件存儲轉(zhuǎn)發(fā)功能。pop2與pop3本質(zhì)上類似,都屬于離線式工作協(xié)議,但是由于使用了不同的協(xié)議端口,兩者并不兼容。與smtp協(xié)議相結(jié)合,pop3是目前最常用的電子郵件服務協(xié)議。 pop3除了支持離線工作方式外,還支持在線工作方式。在離線工作方式下,用戶收發(fā)郵件時,首先通過pop3客戶程序登錄到支持pop3協(xié)議的郵件服務器,然后發(fā)送郵件及附件;接著,郵件服務器將為該用戶收存的郵件傳送給pop3客戶程序,并將這些郵件從服務器上刪除;最后,郵件服

12、務器將用戶提交的發(fā)送郵件,轉(zhuǎn)發(fā)到運行smtp協(xié)議的計算機中,通過它實現(xiàn)郵件的最終發(fā)送。在為用戶從郵件服務器收取郵件時,pop3是以該用戶當前存儲在服務器上全部郵件為對象進行操作的,并一次性將它們下載到用戶端計算機中。一旦客戶的郵件下載完畢,郵件服務器對這些郵件的暫存托管即告完成。使用pop3,用戶不能對他們貯存在郵件服務器上的郵件進行部分傳輸。離線工作方式適合那些從固定計算機上收發(fā)郵件的用戶使用。 當使用pop3在線工作方式收發(fā)郵件時,用戶在所用的計算機與郵件服務器保持連接的狀態(tài)下讀取郵件。用戶的郵件保留在郵件服務器上。 2.4系統(tǒng)所需配置簡介 1.tomcat tomcat是一個免費的開源的

13、serlvet容器,它是apache基金會的jakarta項目中的一個核心項目,由apache,sun和其它一些公司及個人共同開發(fā)而成。由于有了sun的參與和支持,最新的servlet和jsp規(guī)范總能在tomcat中得到體現(xiàn)。 在tomcat中,應用程序的部署很簡單,用戶只需將自己的war放到tomcat的webapp目錄下,tomcat會自動檢測到這個文件,并將其解壓。用戶在瀏覽器中訪問這個應用的jsp時,通常第一次會很慢,因為tomcat要將jsp轉(zhuǎn)化為servlet文件,然后編譯。編譯以后,訪問將會很快。另外tomcat也提供了一個應用:manager,訪問這個應用需要用戶名和密碼,用戶

14、名和密碼存儲在一個xml文件中。通過這個應用,輔助于ftp,用戶可以在遠程通過web部署和撤銷應用。當然本地也可以。 基于tomcat的開發(fā)其實主要是jsp和servlet的開發(fā),開發(fā)jsp和servlet非常簡單,你可以用普通的文本編輯器或者ide,然后將其打包成war即可。這里要提到另外一個工具ant,ant也是jakarta中的一個子項目,它所實現(xiàn)的功能類似于unix中的make。只需要寫一個build.xml文件,然后運行ant就可以完成xml文件中定義的工作,這個工具對于一個大的應用來說非常好,只需在xml中寫很少的東西就可以將其編譯并打包成war。事實上,在很多應用服務器的發(fā)布中都

15、包含了ant。另外,在jsp1.2中,可以利用標簽庫實現(xiàn)java代碼與html文件的分離,使jsp的維護更方便。 tomcat在jbuder中不用配置,但是在用eclipce中就需要配置:首先安裝好tomcat,然后把tomcat的包apache-tomcat-5.5.15在myeclipce下進行配置就可以了。配置好后綁定,啟動。myeclipce下面進行介紹。 2.eclipse和myeclipse 相比于大量的java開發(fā)工具,不可否認borland的jbuider和eclipse是最可靠也是最普遍的。相比于jbuider,eclipse小巧,速度上更是大大超越了jbuider,所以這次

16、設計用的是eclipse。 eclipse是一個開放源代碼的、與netbeans、sunonestudio和borlandjbuider類似的一種基于java的整合型可擴展開發(fā)平臺,也是目前最著名的開源項目之一,就其本身而言,它只是一個框架和一組服務,用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運的是,eclipse附帶了一個標準的插件集,包括java開發(fā)工具(javadevelopmenttools,jdt)。其未來的目標不僅僅是成為專門開發(fā)java程序的ide環(huán)境,根據(jù)eclipse的體系結(jié)構(gòu),通過開發(fā)插件,它能擴展到任何語言的開發(fā),甚至能成為圖片繪制的工具。 eclipsesdk(軟件開發(fā)者包)是e

17、clipseplatform、jdt和pde所生產(chǎn)的組件合并,它們可以一次下載。這些部分在一起提供了一個具有豐富特性的開發(fā)環(huán)境,允許開發(fā)者有效地建造可以無縫集成到eclipseplatform中的工具。eclipsesdk由eclipse項目生產(chǎn)的工具和來自其它開放源代碼的第三方軟件組合而成。eclipse項目生產(chǎn)的軟件以cpl發(fā)布,第三方組件有各自自身的許可協(xié)議。 myeclipse企業(yè)級工作平臺(myeclipseenterpriseworkbench,簡稱myeclipse)是對eclipseide的擴展,利用它我們可以在數(shù)據(jù)庫和j2ee的開發(fā)、發(fā)布,以及應用程序服務器的整合方面極大的提

18、高工作效率。它是功能豐富的j2ee集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持html,struts,jsf,css,javascript,sql,hibernate。 在結(jié)構(gòu)上,myeclipse的特征可以被分為7類: (1)j2ee模型 (2)web開發(fā)工具 (3)ejb開發(fā)工具 (4)應用程序服務器的連接器 (5)j2ee項目部署服務 (6)數(shù)據(jù)庫服務 (7)myeclipse整合幫助 對于以上每一種功能上的類別,在eclipse中都有相應的功能部件,并通過一系列的插件來實現(xiàn)它們。myeclipse結(jié)構(gòu)上的這種模塊化,可以讓我們在不影響其他模塊的情況下,對任一模塊進行單獨的擴展和升級。3系統(tǒng)需求分析與總體設計 3.1系統(tǒng)設計目的 本次畢業(yè)設計所要完成的,是一個tomcat服務器下的郵件收發(fā)平臺,該平臺功能類似于outlook,但是由于時間的關(guān)系,只是實現(xiàn)了outlook的部分功能,但是該平臺是基于web的一個b/s應用程序,它不

溫馨提示

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

評論

0/150

提交評論