freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于j2ee的電子郵件系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)-文庫(kù)吧

2024-10-28 21:54 本頁(yè)面


【正文】 表示層用 JSP} Servlet} Tag Libraries和 JavaBeans實(shí)現(xiàn),商業(yè)邏輯層用 EJB實(shí)現(xiàn),企業(yè)信息系統(tǒng)包括如數(shù)據(jù)庫(kù)、 ERP等 : (1)客戶端層 — 客戶端層包括瀏覽器客戶端和應(yīng)用程序客戶端兩種類型,供新的面向更為廣闊用戶群的服務(wù)。這一層直接與用戶交互,由于目前 Web應(yīng)用程序的流 行,瀏覽器客戶端更為普遍 。 (2) Web層 — Web服務(wù)器層的功能就是根據(jù)瀏覽器或者應(yīng)用程序客戶端的請(qǐng)求提供相應(yīng)的服務(wù)。 Web層由Web組件組成。 J2EE Web組件包括 JSP頁(yè)面和 Servlets 。 Web層也可以包括一些 JavaBean o Web層主要用來(lái)處理客戶請(qǐng)求,調(diào)用相應(yīng)的邏輯塊,并把結(jié)果以動(dòng)態(tài)網(wǎng)頁(yè)的形式返回到客戶端。 EasyMail 簡(jiǎn)易郵件系統(tǒng) 第 6 頁(yè) (3)業(yè)務(wù)層 — 應(yīng)用程序服務(wù)器層是整個(gè)架構(gòu)的核心,它包含應(yīng)用程序服器以及 在應(yīng)用程序服務(wù)器上面運(yùn)行的完成商務(wù)邏輯的 EJB組件。應(yīng)用服務(wù)器為 EJB 的服務(wù)解決了底層的問(wèn)題,如事 務(wù)處理、生命周期、狀態(tài)管理、多線程安全管理、資源池等。 (4)企業(yè)信息系統(tǒng)層 — 最底層的是數(shù)據(jù)庫(kù)系統(tǒng)或者企業(yè)的 EIS,其中存儲(chǔ)著企業(yè)的各種商務(wù)數(shù)據(jù),通過(guò)應(yīng)用程序服務(wù)器內(nèi)的 EJB組件來(lái)實(shí)現(xiàn)商務(wù)數(shù)據(jù)的存取。 J2EE規(guī)范的主要技術(shù)包括 :EJB(服務(wù)器端分布式組件技術(shù) )、 Servlet/JSP(主要用于 Web服務(wù)器端來(lái)完成請(qǐng)求 /響應(yīng)等 Web 功能及簡(jiǎn)單商業(yè)邏輯的技術(shù) )、 JNDI(名稱與目錄服務(wù) API) , JDBC(對(duì)關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行操作的連接橋 )、 RMIfRMI IIOP(進(jìn)程間相互通訊 的重要機(jī)制 )、 JMS(提供異步消息處理機(jī)制 )、 JTAIJTS(組件的事物處理支持 )、 JavaIDL(應(yīng)用 Java語(yǔ)言實(shí)現(xiàn) CORBA標(biāo)準(zhǔn)的模型 )、 JavaMail/JAF(提供與平臺(tái)無(wú)關(guān)的電子郵件服務(wù)功能 )、 JCA(用于與其它系統(tǒng)進(jìn)行集成 )以及 XML(一些 J2EE 技術(shù)的所依靠的技術(shù) ) 本文實(shí)際應(yīng)用系統(tǒng)開(kāi)發(fā)中用到的 J2EE 技術(shù)主要有 : .FJB(Enterprise JavaBeans)EJB 足 J2EE 最重要的核心技術(shù)之一。它們提供了、一個(gè)框架來(lái)開(kāi)發(fā)和實(shí)施分布式商務(wù)邏輯,由此很顯著地簡(jiǎn)化了具有可伸縮性和高度復(fù)雜 的企業(yè)級(jí)應(yīng)用的少 發(fā)。 EJB規(guī)范定義了 EJB組件在何時(shí)如何與它們的容器進(jìn)行交互作用。容器責(zé)提供公用的服務(wù),例如目錄服務(wù),事務(wù)管理,安全性,資源緩沖池以及容錯(cuò)性 。 Java Servlets是一種服務(wù)器端 Java小程序,它擴(kuò)展了 Web服務(wù)器端的功能,具有比 CG1, Perl腳本更高的效率和可移植性。 JSP(Java Server Pages)JSP其實(shí)是 Servlet的擴(kuò)展,通常是大多數(shù) HTML代碼中嵌入少量的 Java 代碼,借助內(nèi)容和外觀的分離 JSP把頁(yè)面制作中不同性質(zhì)的任務(wù)方便地分開(kāi),從而獲得比 Servlet 更高的開(kāi)發(fā)效率。 JDBC Java Database Connectivity ) API JDBC API 用于連接關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng),包括兩部分 :應(yīng)用級(jí)接口被應(yīng)用組件用 f 訪問(wèn)一個(gè)數(shù)據(jù)庫(kù) 。服務(wù)提供者接口 (Service Provider Interface SPI)用于添加 JDBC驅(qū)動(dòng)程序到一個(gè) J2EE平臺(tái)。 XML(eXtensible Markup Language ) XML是一種可以用來(lái)定義其它標(biāo)記語(yǔ)言的語(yǔ)言,它被用來(lái)在不同的商務(wù)過(guò)程中共享數(shù)據(jù)。 基于 mvc 模式的 J2EE Web 開(kāi)發(fā) Mode I 1 和 Model 2 開(kāi)發(fā) Web 應(yīng)用時(shí)經(jīng)常提到的一個(gè)概念是 Model 1 /Model 2,那么到底它是什么意思呢 ?其實(shí)它是對(duì)采用JSP技術(shù)構(gòu)成 Web應(yīng)用的不同模型的描述。下面對(duì)這個(gè)概念做一個(gè)簡(jiǎn)單的介紹。 Mode 1 在使用 JAVA技術(shù)建立 Web應(yīng)用的實(shí)例中,由于 JSP技術(shù)的發(fā)展,很快這種便于掌握和可實(shí)現(xiàn)快速開(kāi)發(fā)的技術(shù)就成了創(chuàng)建 Web 應(yīng)用的主要技術(shù)。 JSP 頁(yè)面中可以一非常容易地結(jié)合業(yè)務(wù)邏輯 (j sp:useBean)、服務(wù)端處理過(guò)程 (( jspacriplet)和 HTML(html),在 JSP 頁(yè)面中同時(shí)實(shí)現(xiàn)顯示,業(yè)務(wù)邏輯和流程控制,從而可以快速地完成應(yīng)用開(kāi)發(fā)?,F(xiàn)在很多的 Web應(yīng)用就是由一組 JSP頁(yè)面構(gòu)成的。這種以 . JSP為 t,心的開(kāi)發(fā)模型我們可以稱之為 Model 1 . EasyMail 簡(jiǎn)易郵件系統(tǒng) 第 7 頁(yè) 當(dāng)然這種開(kāi)發(fā)模式在進(jìn)行快速和小規(guī)模的應(yīng)用開(kāi)發(fā)時(shí),是有非常大的優(yōu)勢(shì), 但是從工程化的角度考慮,它也有一些不足之處 : (1)應(yīng)用的實(shí)現(xiàn)一般是基于過(guò)程的,一組 JSP頁(yè)面實(shí)現(xiàn)一個(gè)業(yè)務(wù)流程,如果要進(jìn)行改動(dòng),必須在多個(gè)地方進(jìn)行修改。這樣非常不利于應(yīng)用擴(kuò)展和更新。 (2)由于應(yīng)用不是建立在模塊上的,業(yè)務(wù)邏輯和表示邏輯混合在 JSP頁(yè)面中沒(méi)有進(jìn)行抽象和分離。所以非常不利于應(yīng)用系統(tǒng)業(yè)務(wù)的重用和改動(dòng)。 為了解決 Model l 緊藕合、復(fù)用性差和維護(hù)成本高的問(wèn)題,在開(kāi)發(fā)大型的 Web應(yīng)用時(shí)必須采用不同的設(shè)計(jì)模式 — 這就是 Model2 。 Model2 Model 2表示的是基于 MVC模式的框架。 MVC是 ModelViewController的簡(jiǎn)寫(xiě)。 Model”代表的是應(yīng)用的業(yè)務(wù)邏輯 (通過(guò) JavaBean} EJB 組件實(shí)現(xiàn) ), View”是應(yīng)用的表 示面 (由 JSP頁(yè)面產(chǎn)生 ), Controller”是提供應(yīng)用的處理過(guò)程控制 (一般是一個(gè) Servlet ),通過(guò)這種設(shè)計(jì)模型把應(yīng)用邏輯,處理過(guò)程和顯示邏輯分成不同的組件實(shí)現(xiàn)。這些組件可以進(jìn)行交互和重用,從而彌補(bǔ)了 Model 1的不足。 在一個(gè)基于 Java 技術(shù)的典型網(wǎng)絡(luò)應(yīng)用中, Model 2 中的各個(gè)部分與 Java 中的各種現(xiàn)有技術(shù)的對(duì)應(yīng)如下圖 22所示 圖 22 Model 2與 Java技術(shù)對(duì)應(yīng)圖 Model 2具有組件化的優(yōu)點(diǎn)從而更易于實(shí)現(xiàn)對(duì)大規(guī)模系統(tǒng)的開(kāi)發(fā)和管理, 但是開(kāi)發(fā) MVC系統(tǒng)比簡(jiǎn)單的 JSP開(kāi)發(fā)要復(fù)雜許多,它需要更多的時(shí)間學(xué)習(xí)和掌握。同時(shí)新東西的引入會(huì)帶來(lái)新的問(wèn)題 : (1)必須基于 MVC組件的方式重新思考和設(shè)計(jì)應(yīng)用結(jié)構(gòu)。原來(lái)通過(guò)建立一個(gè)簡(jiǎn)單的 JSP頁(yè)面就能實(shí)現(xiàn)的應(yīng)用現(xiàn)在變成了多個(gè)步驟的設(shè)計(jì)和實(shí)現(xiàn)過(guò)程。 (2)所有的頁(yè)面和組件必須在 MVC框架中實(shí)現(xiàn),所以必須進(jìn)行附加地開(kāi)發(fā)工作。 MVC 本身就是一個(gè)非常復(fù)雜的系統(tǒng),所以采用 MVC 實(shí)現(xiàn) Web應(yīng)用時(shí),最好選一個(gè)現(xiàn)成的 MVC框架,在此之下進(jìn)行開(kāi)發(fā),從而取得事半功倍的效果。 MVC的應(yīng)用開(kāi)發(fā)框架 框架是對(duì)特定領(lǐng)域的軟件體系結(jié)構(gòu)的具體描述 。框架是對(duì)一個(gè)應(yīng)用軟件系統(tǒng)的部分或整體的可重用設(shè)計(jì),由一組抽象構(gòu)件及構(gòu)件實(shí)例間的相互作用方式組成 ??蚣苁怯砷_(kāi)發(fā)人員定制的應(yīng)用系統(tǒng)的骨架。 MVC框架將系統(tǒng)分為視圖層、控制層、模型層三個(gè)層次,并且定義了三個(gè)層次之間的禍合關(guān)系,因此,可以說(shuō) MVC:框架屬EasyMail 簡(jiǎn)易郵件系統(tǒng) 第 8 頁(yè) 于分層系統(tǒng)的體系結(jié)構(gòu)。該體系結(jié)構(gòu)包括對(duì)視圖、控制、以及模型三個(gè)系統(tǒng)構(gòu)件的描述、構(gòu)件之間的交互,指導(dǎo)構(gòu)件交互的模式,以及施加在模式上的約束。因此,采用 MVC框架,也就采用了分層系統(tǒng)的體系結(jié)構(gòu) 。 現(xiàn)在有很多可供使用的 MVC框架 ,由于 Struts框架具有完整的文檔并且相對(duì)來(lái)講比較簡(jiǎn)單,所以用它開(kāi)發(fā) MVC系統(tǒng)還是比較方便地。 Struts是基于 Mode12之上的,它的底層機(jī)制就是 MVC a Struts采用的是開(kāi)放式源代碼,它是作為 Apache 軟件基金的 Jakarta 項(xiàng)目的一部分,旨在改進(jìn)和提高 JSP, Servlet、標(biāo)記庫(kù)以及面向?qū)ο蟮募夹g(shù)水準(zhǔn),整合 Servlets和 JSP的技術(shù)優(yōu)勢(shì),為開(kāi)發(fā)人員提供一個(gè)開(kāi)發(fā) WEB應(yīng)用程序的框架。Struts是一組 Java類和 JSP標(biāo)記庫(kù)。 MVC模式的 J2EE應(yīng)用 J2EE模型提供 了一個(gè)很好的企業(yè)應(yīng)用框架及解決方法,但是多層企業(yè)應(yīng)用框架在提高了軟件的重用性和分解了問(wèn)題的復(fù)雜性的同時(shí),也使得代碼龐大,層與層之間的控制關(guān)系復(fù)雜 。而 MVC(Model View Controller)模式可以利用控制器將應(yīng)用的業(yè)務(wù)邏輯 — 模型和應(yīng)用的表示邏輯 — 視圖進(jìn)行分離,使應(yīng)用的各層之問(wèn)達(dá)到一種松散禍合的效果,所以,人們將 MVC模式應(yīng)用于 J2EE應(yīng)用開(kāi)發(fā)。 在 J2EE企業(yè)應(yīng)用開(kāi)發(fā)中,采用 MVC模式,首先,它能使軟件開(kāi)發(fā)有章可 循,結(jié)構(gòu)清晰,縮短開(kāi)發(fā)周期 。其次,它能有效地改善軟件系統(tǒng)的性能,大大提 高軟件的可維護(hù)性與可擴(kuò)展性。 基于 MVC模式, J2EE應(yīng)用被分成三個(gè)核心部分 : (1)模型 (Model ):應(yīng)用的業(yè)務(wù)邏輯,通過(guò) JavaBean, EJB組件實(shí)現(xiàn)。 (2)視圖 ( View ):應(yīng)用的表示層,它用來(lái)呈現(xiàn) Model的內(nèi)容,決定如何 。 把數(shù)據(jù)表示出來(lái),當(dāng) Model 改變時(shí), View 要跟著改變,以維持?jǐn)?shù)據(jù)的 一致性。同時(shí), View負(fù)責(zé)把用戶的操作意圖傳給 Controller, Web上的 View由 JSP, JavaBeans 實(shí)現(xiàn),標(biāo)準(zhǔn) Client 上的 View 由 Java 圖形界面 等組成。 第三章 電子郵件系統(tǒng)概述 為了能設(shè)計(jì)出良好的郵件過(guò)濾方案,就要對(duì)電子郵件系統(tǒng)有一個(gè)概念上的把握。從理論上講,電子郵件系統(tǒng)主要由四個(gè)主要部分組成 :信件、 MTA, MDA和 MUA。信件是寫(xiě)信的信紙, MTA用于路由信件, MDA用于投遞信件, MUA 提供用戶創(chuàng)建和處理郵件的界面。郵件服務(wù)器是由 MTA 和 MDA 架設(shè)而成,是電子郵件系統(tǒng)的基礎(chǔ)與根本。 電子郵件系統(tǒng)的運(yùn)行機(jī)制 如圖 31 EasyMail 簡(jiǎn)易郵件系統(tǒng) 第 9 頁(yè) 圖 31電子郵件系統(tǒng)的 傳輸流程 當(dāng)終端用戶通過(guò)用戶代理 (MUA)發(fā)送一封電子郵件時(shí),首先試圖去尋找一個(gè)信件傳輸代理 (MTA ),把郵件提交給它,信件傳輸代理得到了郵件后將它保存在自身的緩沖隊(duì)列中,然后根據(jù)郵件的目標(biāo)地址,通過(guò)對(duì) DNS的查詢,搜索到對(duì)應(yīng)這個(gè)目標(biāo)地址的郵件傳輸代理服務(wù)器的 IP地址,并通過(guò)網(wǎng)絡(luò)將郵件傳送給目標(biāo)郵件傳輸代理服務(wù)器,目標(biāo)郵件傳輸代理服務(wù)器接收到郵件之后,將其投送給本地的郵件投遞代理 (MDA)服務(wù)器,由本地郵件投遞代理服務(wù)器將郵件分發(fā)至最終用戶的郵箱,最后,電子郵件的接收者就可以通過(guò)用戶代理 (MUA)查看 自己的電子郵箱。 在這個(gè)過(guò)程中, MTA, MDA, MUA都有自己的功能職責(zé),完成各自的特定任務(wù),下面將分別對(duì) MTA, MDA, MUA這三個(gè)代理進(jìn)行敘述。 圖 21也體現(xiàn)了郵件傳輸中涉及的代理,它們分別是 MUA, MTA, MTA(Mail Transmit Agent) MTA從各種來(lái)源接收郵件。在收到每個(gè)郵件時(shí), MTA就確定這個(gè)郵件要路由到哪里和如何路山,如果必要的話,它重新寫(xiě)地址、然后把郵件交給 MDA投遞。 控制 Inter 郵件路 由的主要機(jī)制是 DNS(域名服務(wù) )協(xié)議。 DNS提供一個(gè)分布式的數(shù)據(jù)庫(kù),把域名映射到幾個(gè)類型的信息,包括郵件路由指令。大多數(shù)的 MTA 還提供它們自己的機(jī)制直接控制路由,作為 DNS 路由的補(bǔ)充。這對(duì)于本地的技巧和解決臨時(shí)的 DNS路由問(wèn)題是有用的。 郵件投遞代理 MDA(Mail Deliver Agent) 一旦 MTA收到一個(gè)郵件,處理這個(gè)郵件,并確定了它的路由,就把它交給 MDA. MDA負(fù)責(zé)把該郵件投遞到另一個(gè)位置,這個(gè)位置可以是另一個(gè) MDA,一個(gè)用戶的信箱或執(zhí)行特殊任務(wù)的程序。根據(jù)這次投遞是成功還 是產(chǎn)生永久或臨時(shí)的故障, MDA決定這次事務(wù)是完成、產(chǎn)生一個(gè)錯(cuò)誤返回給發(fā)信人,還是在將來(lái)重新發(fā)送。 最簡(jiǎn)單類型的 MDA是一些系統(tǒng)用于投遞到本地信箱的 MDA,它簡(jiǎn)單地把到達(dá)信件放到本地用戶的收件箱。但是,在投遞時(shí),可以對(duì)信件做一些其他的事情。一些 MDA 不是簡(jiǎn)單地附加到達(dá)的電子郵件,而是提供過(guò)濾特性,對(duì)到達(dá)的信件提供額外的操作。其他 MDA可以把電于郵件傳遞到另一個(gè)機(jī)器。 如果一個(gè) MTA決定信件需要路由到另一個(gè) MDA,它把信件提交給一個(gè)使用 SMTP(簡(jiǎn)單郵件傳輸協(xié)議 )的 MDA,這個(gè)協(xié)議定義一組把信件傳遞 到遠(yuǎn)程 MDA的命令。這個(gè) MDA常常在 MTA中創(chuàng)建。 .郵件用戶代理 MUA(Mail User Agent) MTA和 MDA負(fù)責(zé)信件的路由和傳送,而郵件用戶代理 (MUA)負(fù)責(zé)為用戶提供管理郵件的界面。這個(gè)管理通常包括查看信件、管理郵件夾、寫(xiě)和發(fā)送新信件,以及回復(fù)信件和把現(xiàn)有的信件發(fā)送給其他用戶。它通常是與信件直接打交道的唯一程序。 在早期的電子郵件中, MUA通常在用戶接收電子郵件的相同機(jī)器上,最終創(chuàng)建了兩個(gè)協(xié)議 :POP(郵局協(xié)議 )和 IMAP(Inter信件訪問(wèn)協(xié)議 ),允許使用 MUA閱讀位于遠(yuǎn)程機(jī)器 上的電子郵件。 EasyMail 簡(jiǎn)易郵件系統(tǒng) 第
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1