国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Webmail-0.7.7 系統(tǒng)源碼淺析

2019-11-18 14:08:46
字體:
供稿:網(wǎng)友

  Webmail-0.7.7 系統(tǒng)源碼淺析

1. Webmail 的軟件開發(fā)環(huán)境

Webmail 采用java 的開發(fā)包JDK1.2.2的linux版本及流行的發(fā)布平臺(tái)Tomcat;Tomcat 作為 jsp 和 Servlet 的解釋器及發(fā)布器,它本身就是用 Java 編寫的,因此不受系統(tǒng)限制;數(shù)據(jù)庫使用的是MySQL

2. Webmail 系統(tǒng)的主要特點(diǎn)

1) 我欣喜地發(fā)現(xiàn)Webmail系統(tǒng)整體是基于xml +Java 這一強(qiáng)大組合(xml支持W3C標(biāo)準(zhǔn)的可擴(kuò)展性標(biāo)記語言)的成功開發(fā)實(shí)例。
其中又是利用XML標(biāo)準(zhǔn)擴(kuò)展(包括一些組件:一個(gè)解釋器,解釋器的名字空間支持,XML的簡單API(SAX)和文檔對(duì)象模型DOM);用他來將xml 語法翻譯成Java;

解析器就是一個(gè)軟件模塊用來解析或者是讀入一個(gè)XML文檔的數(shù)據(jù)并且檢查其合法性。名字空間,W3C的XML規(guī)范的一部分,指在一個(gè)文檔類型定義(DTD)中定義了一組與其它不同的XML標(biāo)記元素集。名字空間的主要益處是它答應(yīng)多個(gè)變量(在不同的標(biāo)記集合中并且行為也不一樣)能夠在一個(gè)單獨(dú)的文檔實(shí)例中混合。很顯然,為了獲得這種益處,解析器必須支持名字空間,Sun Microsystems還在為這種支持而作工作。

SAX,一個(gè)為基于事件XML解析器定義的可以免費(fèi)獲得的,平臺(tái)、語言無關(guān)的API,答應(yīng)程序和腳本動(dòng)態(tài)的訪問和更新內(nèi)容、結(jié)構(gòu)和文檔風(fēng)格。所以,它作為一個(gè)中間件層用來把XML文檔中的數(shù)據(jù)解釋成相應(yīng)的Java事件。
DOM為解析器提供一個(gè)基于樹型的數(shù)據(jù)結(jié)構(gòu)接口,將XML數(shù)據(jù)構(gòu)建成對(duì)象并且答應(yīng)對(duì)象間相互結(jié)合、訪問、操縱,例如通過Java程序。

2) Webmail系統(tǒng)從數(shù)據(jù)處理的角度把整個(gè)系統(tǒng)劃分為:界面顯示部分,業(yè)務(wù)邏輯處理部分。業(yè)務(wù)邏輯處理部分封裝了事物邏輯和數(shù)據(jù)庫的操作,XML數(shù)據(jù)綁定保證了前臺(tái)界面顯示部分和業(yè)務(wù)邏輯處理部分的分離和數(shù)據(jù)的一致性; XML的另一個(gè)稍稍抽象的優(yōu)點(diǎn)是采用了層次結(jié)構(gòu)而不是關(guān)系結(jié)構(gòu)來定義數(shù)據(jù),可以根據(jù)需要直接了當(dāng)?shù)脑O(shè)計(jì)應(yīng)用的數(shù)據(jù)結(jié)構(gòu),也不必使用實(shí)體關(guān)系設(shè)計(jì)器去進(jìn)行模式的規(guī)范化操作;使系統(tǒng)具有更好的健壯性,靈活性。尤其給系統(tǒng)的更新和維護(hù)帶來很大的方便。

3) Webmail 可以生成動(dòng)態(tài)的XML ,用XSL作為模板語言,定義XML數(shù)據(jù)的顯示格式,生成了幾個(gè)常用的模板;如:loginscreen.xsl等。XML+XSL=
Html 的效果。

3. Webmail 的功能框圖及實(shí)現(xiàn)

Webmail 整個(gè)系統(tǒng)頁面由兩個(gè)jsp引導(dǎo)進(jìn)入:
index.jsp-------------------------------------------普通用戶進(jìn)入郵件系統(tǒng) ;
普通用戶進(jìn)入à 映射到 XMLGenericModel.java ,完成對(duì)用戶的用戶名和密碼的驗(yàn)證;
admin.jsp------------------------------------------治理員進(jìn)入治理用戶頁面
治理員進(jìn)入系統(tǒng)à映射到 XMLAdminModel.java完成對(duì)治理員的用戶名密碼的驗(yàn)證;
系統(tǒng)功能結(jié)構(gòu)圖如下:

舉例說明:郵件的功能實(shí)現(xiàn) (plugins 功能)
源文件webbmail/src/net/wastl/webmail/plugins文件夾中,此文件夾中每個(gè)功能是以一個(gè)個(gè)java的形式存儲(chǔ)的文件,并以插件形式加入整個(gè)郵件系統(tǒng)中的,這個(gè)有利于系統(tǒng)的維護(hù)和更新,當(dāng)某個(gè)功能或文件需要增加或功能升級(jí)時(shí),就可只修改Java的形式存儲(chǔ)的文件,而xsl界面顯示文件不用同時(shí)改。首先每個(gè)插件通過register方法注冊(cè)到系統(tǒng)中,系統(tǒng)通過一個(gè)功能樹的形式維護(hù)這個(gè)插件隊(duì)列,假如用戶使用某一個(gè)功能時(shí),系統(tǒng)通過遍歷整個(gè)插件樹,找到相應(yīng)的插件,從而為其服務(wù).
/webmail/src/net/wastl/webmail按功能劃分的各個(gè)包文件
/webmail/src/org /bulbul/webmail,這個(gè)包主要用于多國語言顯示.



發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 洪泽县| 大厂| 林口县| 松滋市| 广平县| 沂源县| 宝丰县| 揭阳市| 潜山县| 两当县| 休宁县| 蚌埠市| 吕梁市| 华安县| 蚌埠市| 内黄县| 临漳县| 松阳县| 泗阳县| 华安县| 河南省| 望都县| 海原县| 伊川县| 贺兰县| 新丰县| 定日县| 白河县| 化德县| 航空| 栖霞市| 玉溪市| 彝良县| 祥云县| 马鞍山市| 永泰县| 正宁县| 天峻县| 新丰县| 淮安市| 襄城县|