【正文】
(folderIkey,folderIkey)。 ()。 ()。 (5) 通過 Message 對(duì)象所提供的方法,解析顯示一封郵件,包括郵件的發(fā)送者地址、郵件主題、發(fā)送時(shí)間、郵件正文中的文本信息,郵件中的附件等信息。 26 JavaMail 中接收郵件的主要過程是: (1) 從 Session 對(duì)象中獲得實(shí)現(xiàn)了某種郵件接收協(xié)議的 Store 對(duì)象。 利用 POP3 協(xié)議接收電子郵件 完成 Email 的接收主要需要用到 JavaMail 中的郵件接收功能,即利用了JavaMail 的 POP3 存取。 (發(fā)送成功 )。 transport == null) 25 (發(fā)送失敗 )。 } } % 郵件輸入頁面效果如下圖 52 所示: 圖 52 新郵件的輸入頁面 (2) 服務(wù)器端發(fā)送郵件處理 : ... ... % try{ Message message = (Message)(message)。 (transport,transport)。 } 24 (mp)。 DataHandler dh = new DataHandler(fds)。 () 0 amp。 (dh)。 (!())){ mbp = new MimeBodyPart()。 //設(shè)置信件的附件 1(直接將所設(shè)文本內(nèi)容加到自定義文件中作為附件發(fā)送 ) if(file1 != null amp。 //設(shè)置信件文本內(nèi)容 //新建一個(gè)存放信件內(nèi)容的 BodyPart對(duì)象 BodyPart mbp = new MimeBodyPart()。 (!())) (, new InterAddress((bcc)))。 if(bcc != null amp。amp。 MimeMessage message = new MimeMessage(s)。 (, (smtp).toString())。 String body = Bytes((text))。 String to = Bytes((to))。){ alert(讀取服務(wù)器數(shù)據(jù)出錯(cuò) )。, method:39。 實(shí)現(xiàn) AJAX 異步發(fā)送郵件的功能就是在郵件發(fā)送階段完成的。 JavaMail 實(shí)現(xiàn)郵件發(fā)送的流程如圖 51 所示 : 圖 51 JavaMail 實(shí)現(xiàn)郵件發(fā)送流程 認(rèn)證通過后,用戶可以選擇發(fā)送郵件,完成 Email 的發(fā)送主要需要用到JavaMail 中的郵件發(fā)送功能,即利用了 JavaMail 的 SMTP 傳輸。 21 第 5 章 系統(tǒng) 詳細(xì) 設(shè)計(jì)與實(shí)現(xiàn) 郵件管理設(shè)計(jì) 郵件管理是整個(gè)系統(tǒng)的核心功能區(qū)域,這一模塊主要是實(shí)現(xiàn)郵件的接收、發(fā)送和相關(guān)的郵件處理。 本章小結(jié) 本章主要介紹了數(shù)據(jù)庫設(shè)計(jì)的重要性并對(duì)自助裝機(jī)報(bào)價(jià)系統(tǒng)的數(shù)據(jù)庫進(jìn)行了分析與設(shè)計(jì)。用戶定義的完整性即是針對(duì)某個(gè)特定關(guān)系數(shù)據(jù)庫的約束條件,它反映某一具體應(yīng)用所涉及的數(shù)據(jù)必須滿足的語義要求。它確保了 20 有主關(guān)鍵字的表中對(duì)應(yīng)其它表的外關(guān)鍵字的行存在,即保證了表之間的數(shù)據(jù)的一致性,防止了數(shù)據(jù)丟失或無意義的數(shù)據(jù)在數(shù)據(jù)庫中擴(kuò)散。 (2) 域完整性( Domain Integrity) 域完整性是指數(shù)據(jù)庫表中的列必須滿足某種特定的數(shù)據(jù)類型或約束。它是應(yīng)防止數(shù)據(jù)庫中存在不符合語義規(guī)定的數(shù)據(jù)和防止因錯(cuò)誤信息的輸入輸出造成無效操作或錯(cuò)誤信息而提出的。 數(shù)據(jù)庫安全可分為二類:系統(tǒng)安全性和數(shù)據(jù)安全性。計(jì)算機(jī)系統(tǒng)都有這個(gè)問題,在數(shù)據(jù)庫系統(tǒng)中大量數(shù)據(jù)集中存放,為許多用戶共享,使安全問題更為突出。其中最經(jīng)常采用的策略是自底向上方法。即首先定義全局概念結(jié)構(gòu)的框架,然后逐步細(xì)化; (2) 自底向上。它是整個(gè)數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵。 (7) 聯(lián)系人的數(shù)據(jù)項(xiàng):聯(lián)系人號(hào)、聯(lián)系人名稱、聯(lián)系人的郵件地址、所屬組號(hào)等信息。 (3) 郵件附件的數(shù)據(jù)項(xiàng):郵件附件號(hào)、郵件附件標(biāo)題、郵件附件、所屬郵件號(hào)等信息。需求分析是整個(gè)設(shè)計(jì)過程的基礎(chǔ),是最困難、最耗費(fèi)時(shí)間的一步。可以查看每個(gè)分組內(nèi)的聯(lián)系人。通過前面對(duì)系統(tǒng)功能模塊的分析與設(shè)計(jì),得出該系統(tǒng)對(duì)數(shù)據(jù)庫的創(chuàng)建需要滿足以下需求: (1) 掌握郵件文件夾中所有郵件的總體信息,如郵件總數(shù),新郵件數(shù)等。一個(gè)信息系 統(tǒng)的各個(gè)部分能否緊密的結(jié)合在一起以及如何結(jié)合,關(guān)鍵在數(shù)據(jù)庫。通過系統(tǒng)設(shè)計(jì)圖來更好的體現(xiàn)這個(gè)框架的結(jié)構(gòu),使得軟件的體系更明確,使得編程過程有的放矢,編程工作更好的有序開展。 ? 編輯標(biāo)簽屬性:用戶編輯標(biāo)簽的屬性,如名稱等。 ? 編輯組屬性:用戶可編輯修改組的信息,如組的名稱。 ? 閱讀郵件:通過收件箱內(nèi)的鏈接,查看郵件的內(nèi)容,包括顯示發(fā)件人的郵件系統(tǒng) 用戶管理 郵件管理 通訊錄管理 郵件標(biāo)簽管理 注冊(cè)新用戶 用戶信息管理 寫新郵件 收件箱 閱讀郵件 轉(zhuǎn)發(fā)郵件 刪除郵件 添加組 編輯組屬性 添加聯(lián)系人 聯(lián)系人管理 添加新標(biāo)簽 編輯標(biāo)簽屬性 給郵件貼標(biāo)簽 13 地址、郵件的主題、郵件的內(nèi)容和所攜帶的附件。 12 圖 32 郵件系統(tǒng)功能 (2) 用戶管理 ? 注冊(cè)新用戶:系統(tǒng)的開始是用戶注冊(cè),只有注冊(cè)成功的用戶才可以登錄進(jìn)入系統(tǒng)。如圖 31 所示,在發(fā)信方面, WebMail 程序以 SMTP 協(xié)議和郵件服務(wù)器上的 MTA 勾通,將信件經(jīng)由 MTA 送往 Inter。 WebMail 就是使用者通 過瀏覽器連到 Web 服務(wù)器,而由 Web 服務(wù)器上的程序負(fù)責(zé)作收信 /發(fā)信的動(dòng)作。由于用戶代理的屏蔽作用,用戶在發(fā)送和接收郵件時(shí)看不見郵件傳輸程序 的工作情況 。郵件傳輸代理應(yīng)具有以下功能 :①傳送和代理 :電子郵件按照客戶服務(wù)器方式工作。郵件傳輸代理是在后臺(tái)運(yùn)行的系統(tǒng)程序,在系統(tǒng)間傳輸電子郵件。最后,通過對(duì) Tomcat的介紹,分析選擇 Tomcat 作為系統(tǒng)的 Web 服務(wù)器的優(yōu)越性。通過對(duì)數(shù)據(jù)庫訪問技術(shù)的介紹和比較選擇系統(tǒng)采用的 Hibernate 中間件數(shù)據(jù)庫訪問技術(shù)。 本章小結(jié) 良好的開發(fā)環(huán)境和開發(fā)工具是開發(fā)系統(tǒng)的重要條件。 9 Tomcat 不僅僅是一個(gè) Servlet 容器,它也具有傳統(tǒng)的 Web 服務(wù)器的功能:處理 Html 頁面。 WAR 是 Sun 提出的一種 Web 應(yīng)用程序格式,與 JAR 類似,也是許多文件的一個(gè)壓縮包。也就是當(dāng)在一個(gè)數(shù)據(jù)庫執(zhí)行操作時(shí),可以將其操作結(jié)果傳至遠(yuǎn)程的 SQL 相同的數(shù)據(jù)庫上,讓兩邊的數(shù)據(jù)庫的數(shù)據(jù)保持同步。所有用 SQL 編寫的程序都是可以移植的。 (2) 統(tǒng)一的語言 SQL 可用于所有用戶的 DB 活動(dòng)模型,包括系統(tǒng)管理員、數(shù)據(jù)庫管理員、 應(yīng)用程序員、決策支持系統(tǒng)人員及許多其它類型的終端用戶。 SQL 不要求用戶指定對(duì)數(shù)據(jù)的存放方法。 Microsoft SQLServer 2020 (1) 非過程化語言 SQL 是一個(gè)非過程化的語言,因?yàn)樗淮翁幚硪粋€(gè)記錄,對(duì)數(shù)據(jù)提供自動(dòng)導(dǎo)航。 MyEclipse 的發(fā)布極大的增強(qiáng)了 Eclipse ,增加了 Java 6 支持的組件和加快了 AJAX 的開發(fā)率,革命性的提高了開發(fā)者的開發(fā)效率。在結(jié)構(gòu)上,MyEclipse 的特征 可以被分為 7 類: J2EE 模型 、 WEB 開發(fā)工具 、 EJB 開發(fā)工具 、 應(yīng)用程序服務(wù)器的連接器 、 J2EE 項(xiàng)目部署服務(wù) 、 數(shù)據(jù)庫服務(wù) 、 MyEclipse 整合幫助 。 ④ 全方位的呈現(xiàn):利用 DREAMWEAVER 設(shè)計(jì)的網(wǎng)頁,可以全方位的呈現(xiàn)在任何 平臺(tái)的熱門瀏覽器上。其特點(diǎn)有以下幾方面: ① 制作效率高: DREAMWEAVER 可以用最快速方式 Fireworks, FreeHand,或 Photoshop 等檔案移至網(wǎng)頁上。而另一個(gè) 類型是存儲(chǔ) (Store),它也是服務(wù),可以連接到這個(gè)服務(wù)來取得己經(jīng)傳輸?shù)接脩羿]箱中的消息。所有這些類都可以在 JavaMail API 即 的頂層包中找到,使用的子類可在 包中找到,由它們可以組成典型的郵件系統(tǒng)。企業(yè)用戶也可以利用 JavaMail 收取企業(yè)郵箱中的郵件,并進(jìn)行自動(dòng)處理。它提供平臺(tái)無關(guān)的和協(xié)議無關(guān)的框架來構(gòu)建基于 Java 技術(shù)的郵件和消息傳遞應(yīng)用。 利用數(shù)據(jù)庫以及其他一些配置文件如 , XML Mapping 等來為應(yīng)用程序提供數(shù)據(jù)持久服務(wù)的。內(nèi)部封裝了 JDBC 訪問數(shù)據(jù)庫的操作,向上層應(yīng)用提供了面向 5 對(duì)象的數(shù)據(jù)庫訪問 API,在 JAVA 應(yīng)用中使用到 Hibernate 包含如下步驟: ① 創(chuàng)建 Hibernate 配置文件; ② 創(chuàng)建持久類; ③ 創(chuàng)建對(duì)象、關(guān)系、映射文件; ④ 通過 Hibernate API 編寫訪問數(shù)據(jù)庫的代碼。 JDBC 使信息傳播變得容易經(jīng)濟(jì)。 Java 具有堅(jiān)固、安全、易于理解和可以從網(wǎng)絡(luò)上自動(dòng)下載等特性是編寫數(shù)據(jù)庫應(yīng)用的杰出語言。 JDBC 為工具 /數(shù)據(jù)庫開發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的 API,使他們能夠用純 Java API 來編寫數(shù)據(jù)庫應(yīng)用程序。通過 CSS 技術(shù),只要對(duì)相應(yīng)的代碼做一些修改,就可以改變同一頁面的不同部分,或者頁數(shù)不同的網(wǎng)頁的外觀和格式。通過使用 DOM, HTML 頁面以一種結(jié)構(gòu)化方式組織在一起, HTML 頁面的內(nèi)容以節(jié)點(diǎn)方式組 織。 JavaScript 主要完成如下事件:創(chuàng)建XMLHttpRequest 對(duì) 象,通過 XMLHttpRequest 向服務(wù)器發(fā)送請(qǐng)求,創(chuàng)建回調(diào)函數(shù),監(jiān)視服務(wù)器響應(yīng)狀態(tài),當(dāng)服務(wù)器響應(yīng)完成后回調(diào)函數(shù)啟動(dòng),回調(diào)函數(shù)通過 DOM動(dòng)態(tài)更新 HTML 頁面。 AJAX 豐富頁面操作 AJAX 并不是一門全新的技術(shù),它所基于的技術(shù)大都是成熟的技術(shù),如JavaScript, DOM, CSS 和 XML 等。在服務(wù)器完全響應(yīng)之前,用戶的瀏覽器將會(huì)是一片空白,用戶的動(dòng)作必須中斷。 AJAX 的異步能力 AJAX技術(shù)的核心是對(duì)象 XMLHttpRequest。 Sun 公司為方便 Java 開發(fā)人員在應(yīng)用程序中能夠?qū)崿F(xiàn)郵件發(fā)送和接受功能而提高了一套標(biāo)準(zhǔn)的開發(fā)包,這套開發(fā)包包括面向普通開發(fā)人員調(diào)用的 JavaMail API 和實(shí)現(xiàn)了 SMTP、 POP IMAP 等底層協(xié)議的服務(wù)提供程序。采用 Hibernate 處理持久化。 本系統(tǒng)就是在這個(gè)背景下提出來的,希望通過本系統(tǒng)能夠進(jìn)一步掌握新的學(xué)習(xí) Web 技術(shù),了解網(wǎng)絡(luò)郵件原理和實(shí)現(xiàn)過程,體驗(yàn) AJAX 異步通信在 Web 郵件 2 系統(tǒng)應(yīng)用中帶來的好處,以及 Hibernate 等 J2EE 框架在 Web 開發(fā)過程中的運(yùn)用。 AJAX 技術(shù)的應(yīng)用還進(jìn)一步提高了 Web 系統(tǒng)的易用性和界面友好度 [7]。 當(dāng)用戶 登錄郵箱 時(shí) , 可感受到超快速的系統(tǒng)響應(yīng)和流暢的頁面加載 ,甚至不用打斷交互流程進(jìn)行重新加載,就可以動(dòng)態(tài)更新。新的Web 技術(shù)的出現(xiàn)為 Web 系統(tǒng)的更新帶來了巨大的突破。隨著中國(guó)Inter 應(yīng)用的日益普及和逐步深入,這些數(shù)字仍在不斷增長(zhǎng)。 moving office. With the appearance of Web Mail technique, the problem has been pletely solved. Many work users are attracted by its advantages of speediness and convenience. Users can implement Email receiving, Email sending and so on by opening certain Web pages on Servers through Browsers without installing any Email Client softwares. The layer of the new Web technique of the J2EE, AJAX technique ..etc. for mail system of renewal bring huge of break. This paper emphasizes expatiating on the implementation of Web Mail system based on the Hibernate of J2EE platform and AJAX , including their theory foundation, design idea, system structure, development process, sumup and expectation of all above. The first half part of the paper discusses the Hibernate and the AJAX architecture and JavaMail mail technique, explaining the work principia of Email