小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Web開發(fā)輕平臺(tái)-Tomcat--my world

 ekylin 2006-02-22

作者:宗鋒 zong_feng@263.net,zong_feng@163.com
本文發(fā)表于<計(jì)算機(jī)世界>2002年4月15日那一期 

如今,基于Web的應(yīng)用越來越多,傳統(tǒng)的Html已經(jīng)滿足不了如今的需求。我們需要一個(gè)交互式的Web,于是便誕生了各種Web語言。如Asp,Jsp,Php等。當(dāng)然,這些語言與傳統(tǒng)的語言有著密切的聯(lián)系,如Php基于C和C++語言,Jsp基于Java語言。本文所要介紹的Tomcat即是一個(gè)Jsp和Servlet的運(yùn)行平臺(tái)。

一:什么是Jsp和Servlet

Jsp(JavaServer Page)是在普通Html中嵌入了Java代碼的一個(gè)腳本,在這一點(diǎn)上,它與其它的腳本語言(如Php)一樣,但它與其它語言不同的是:其它腳本語言由服務(wù)器直接解釋這個(gè)腳本,而Jsp則由Jsp容器(如Tomcat)首先將其轉(zhuǎn)化為Servlet,然后再調(diào)用Javac將Servlet編譯為Class文件。最終,服務(wù)器解釋的是Class文件。那么什么是Servlet呢?Servlet其實(shí)是一個(gè)特殊的Java類,Servlet類一般從HttpServlet類繼承而來,在這個(gè)類中至少要實(shí)現(xiàn)doGet或者doPost函數(shù),在這兩個(gè)函數(shù)中處理來自客戶的請(qǐng)求,然后將結(jié)果返回。Servlet和Jsp是Sun公司J2EE架構(gòu)中重要的部分。由于基于Java語言,因此其可以方便的調(diào)用功能強(qiáng)大的Java API(如JDBC)。

二:Tomcat概述

Tomcat是一個(gè)免費(fèi)的開源的Serlvet容器,它是Apache基金會(huì)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache,Sun和其它一些公司及個(gè)人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和Jsp規(guī)范總能在Tomcat中得到體現(xiàn)。Tomcat被JavaWorld雜志的編輯選為2001年度最具創(chuàng)新的java產(chǎn)品,可見其在業(yè)界的地位。

Tomcat 最新版本是4.0x。4.0x與3.x的架構(gòu)不同,而是重新設(shè)計(jì)的。Tomcat4.0x中采用了新的Servlet容器:Catalina,完整的實(shí)現(xiàn)了Servlet2.3和Jsp1.2規(guī)范。Tomcat提供了各種平臺(tái)的版本供下載,可以從http://jakarta.上下載其源代碼版或者二進(jìn)制版。由于Java的跨平臺(tái)特性,基于Java的Tomcat也具有跨平臺(tái)性。

與傳統(tǒng)的桌面應(yīng)用程序不同,Tomcat中的應(yīng)用程序是一個(gè)WAR(Web Archive)文件。WAR是Sun提出的一種Web應(yīng)用程序格式,與JAR類似,也是許多文件的一個(gè)壓縮包。這個(gè)包中的文件按一定目錄結(jié)構(gòu)來組織:通常其根目錄下包含有Html和Jsp文件或者包含這兩種文件的目錄,另外還會(huì)有一個(gè)WEB-INF目錄,這個(gè)目錄很重要。通常在WEB-INF目錄下有一個(gè)web.xml文件和一個(gè)classes目錄,web.xml是這個(gè)應(yīng)用的配置文件,而classes目錄下則包含編譯好的Servlet類和Jsp或Servlet所依賴的其它類(如JavaBean)。通常這些所依賴的類也可以打包成JAR放到WEB-INF下的lib目錄下,當(dāng)然也可以放到系統(tǒng)的CLASSPATH中,但那樣移植和管理起來不方便。

在Tomcat中,應(yīng)用程序的部署很簡(jiǎn)單,你只需將你的WAR放到Tomcat的webapp目錄下,Tomcat會(huì)自動(dòng)檢測(cè)到這個(gè)文件,并將其解壓。你在瀏覽器中訪問這個(gè)應(yīng)用的Jsp時(shí),通常第一次會(huì)很慢,因?yàn)門omcat要將Jsp轉(zhuǎn)化為Servlet文件,然后編譯。編譯以后,訪問將會(huì)很快。另外Tomcat也提供了一個(gè)應(yīng)用:manager,訪問這個(gè)應(yīng)用需要用戶名和密碼,用戶名和密碼存儲(chǔ)在一個(gè)xml文件中。通過這個(gè)應(yīng)用,輔助于Ftp,你可以在遠(yuǎn)程通過Web部署和撤銷應(yīng)用。當(dāng)然本地也可以。

Tomcat不僅僅是一個(gè)Servlet容器,它也具有傳統(tǒng)的Web服務(wù)器的功能:處理Html頁面。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache。我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態(tài)Html,而Tomcat處理Jsp和Servlet。這種集成只需要修改一下Apache和Tomcat的配置文件即可。

另外,Tomcat提供Realm支持。Realm類似于Unix里面的group。在Unix中,一個(gè)group對(duì)應(yīng)著系統(tǒng)的一定資源,某個(gè)group不能訪問不屬于它的資源。Tomcat用Realm來對(duì)不同的應(yīng)用(類似系統(tǒng)資源)賦給不同的用戶(類似group)。沒有權(quán)限的用戶則不能訪問這個(gè)應(yīng)用。Tomcat提供三種Realm,1:JDBCRealm,這個(gè)Realm將用戶信息存在數(shù)據(jù)庫里,通過JDBC獲得用戶信息來進(jìn)行驗(yàn)證。2:JNDIRealm,用戶信息存在基于LDAP的服務(wù)器里,通過JNDI獲取用戶信息。3:MemoryRealm,用戶信息存在一個(gè)xml文件里面,上面講的manager應(yīng)用驗(yàn)證用戶時(shí)即使用此種Realm。通過Realm我們可以方便地對(duì)訪問某個(gè)應(yīng)用的客戶進(jìn)行驗(yàn)證。

在Tomcat4中,你還可以利用Servlet2.3提供的事件監(jiān)聽器功能,來對(duì)你的應(yīng)用或者Session實(shí)行監(jiān)聽。Tomcat也提供其它的一些特征,如與SSL集成到一塊,實(shí)現(xiàn)安全傳輸。還有Tomcat也提供JNDI支持,這與那些J2EE應(yīng)用服務(wù)器提供的是一致的。說到這里我們要介紹一下通常所說的應(yīng)用服務(wù)器(如WebLogic)與Tomcat有何區(qū)別。應(yīng)用服務(wù)器提供更多的J2EE特征,如EJB,JMS,JAAS等,同時(shí)也支持Jsp和Servlet。而Tomcat則功能沒有那么強(qiáng)大,它不提供EJB等支持。但如果與JBoss(一個(gè)開源的應(yīng)用服務(wù)器)集成到一塊,則可以實(shí)現(xiàn)J2EE的全部功能。既然應(yīng)用服務(wù)器具有Tomcat的功能,那么Tomcat有沒有存在的必要呢?事實(shí)上,我們的很多中小應(yīng)用不需要采用EJB等技術(shù),Jsp和Servlet已經(jīng)足夠,這時(shí)如果用應(yīng)用服務(wù)器就有些浪費(fèi)了。而Tomcat短小精悍,配置方便,能滿足我們的需求,這種情況下我們自然會(huì)選擇Tomcat。

基于Tomcat的開發(fā)其實(shí)主要是Jsp和Servlet的開發(fā),開發(fā)Jsp和Servlet非常簡(jiǎn)單,你可以用普通的文本編輯器或者IDE,然后將其打包成WAR即可。我們這里要提到另外一個(gè)工具Ant,Ant也是Jakarta中的一個(gè)子項(xiàng)目,它所實(shí)現(xiàn)的功能類似于Unix中的make。你需要寫一個(gè)build.xml文件,然后運(yùn)行Ant就可以完成xml文件中定義的工作,這個(gè)工具對(duì)于一個(gè)大的應(yīng)用來說非常好,我們只需在xml中寫很少的東西就可以將其編譯并打包成WAR。事實(shí)上,在很多應(yīng)用服務(wù)器的發(fā)布中都包含了Ant。另外,在Jsp1.2中,可以利用標(biāo)簽庫實(shí)現(xiàn)Java代碼與Html文件的分離,使Jsp的維護(hù)更方便。

Tomcat也可以與其它一些軟件集成起來實(shí)現(xiàn)更多的功能。如與上面提到的JBoss集成起來開發(fā)EJB,與Cocoon(Apache的另外一個(gè)項(xiàng)目)集成起來開發(fā)基于Xml的應(yīng)用,與OpenJMS

集成起來開發(fā)JMS應(yīng)用,除了我們提到的這幾種,可以與Tomcat集成的軟件還有很多。

三:展望

Tomcat確實(shí)是一個(gè)很好的工具,不僅僅因?yàn)槠涿赓M(fèi),功能強(qiáng)大,更因?yàn)槠溟_放性。如今,開源軟件越來越收到人們的重視,Linux就是一個(gè)成功的典型。人們不再限于只使用軟件,而且已經(jīng)關(guān)心起軟件的具體實(shí)現(xiàn)。我們有理由相信Tomcat會(huì)走得更遠(yuǎn)。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多