Servlet:
Servlet(Server Applet)是Java Servlet的簡稱感猛,稱為小服務(wù)程序或服務(wù)連接器姻乓,用Java編寫的服務(wù)器端程序概页,主要功能在于交互式地瀏覽和修改數(shù)據(jù)琉闪,生成動態(tài)Web內(nèi)容。
狹義的Servlet是指Java語言實(shí)現(xiàn)的一個接口,廣義的Servlet是指任何實(shí)現(xiàn)了這個Servlet接口的類,一般情況下学少,人們將Servlet理解為后者。Servlet運(yùn)行于支持Java的應(yīng)用服務(wù)器中择懂。從原理上講运敢,Servlet可以響應(yīng)任何類型的請求,但絕大多數(shù)情況下Servlet只用來擴(kuò)展基于HTTP協(xié)議的Web服務(wù)器穆端。
最早支持Servlet標(biāo)準(zhǔn)的是JavaSoft的Java Web Server袱贮,此后,一些其它的基于Java的Web服務(wù)器開始支持標(biāo)準(zhǔn)的Servlet体啰。
Tomca:
Tomcat是Apache 軟件基金會(Apache Software Foundation)的Jakarta 項(xiàng)目中的一個核心項(xiàng)目攒巍,由Apache、Sun 和其他一些公司及個人共同開發(fā)而成狡赐。由于有了Sun 的參與和支持窑业,最新的Servlet 和JSP 規(guī)范總是能在Tomcat 中得到體現(xiàn),Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 規(guī)范枕屉。因?yàn)門omcat 技術(shù)先進(jìn)常柄、性能穩(wěn)定,而且免費(fèi),因而深受Java 愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可西潘,成為目前比較流行的Web 應(yīng)用服務(wù)器卷玉。
Tomcat 服務(wù)器是一個免費(fèi)的開放源代碼的Web 應(yīng)用服務(wù)器,屬于輕量級應(yīng)用服務(wù)器喷市,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用相种,是開發(fā)和調(diào)試JSP 程序的首選。對于一個初學(xué)者來說品姓,可以這樣認(rèn)為寝并,當(dāng)在一臺機(jī)器上配置好Apache 服務(wù)器,可利用它響應(yīng)HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個應(yīng)用)頁面的訪問請求腹备。實(shí)際上Tomcat是Apache 服務(wù)器的擴(kuò)展衬潦,但運(yùn)行時它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行tomcat 時植酥,它實(shí)際上作為一個與Apache 獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的镀岛。
訣竅是,當(dāng)配置正確時友驮,Apache 為HTML頁面服務(wù)漂羊,而Tomcat 實(shí)際上運(yùn)行JSP 頁面和Servlet。另外卸留,Tomcat和IIS等Web服務(wù)器一樣走越,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器艾猜,獨(dú)立的Servlet容器是Tomcat的默認(rèn)模式买喧。不過,Tomcat處理靜態(tài)HTML的能力不如Apache服務(wù)器匆赃。目前Tomcat最新版本為9.0淤毛。
動態(tài)頁面和靜態(tài)頁面的區(qū)別
一、靜態(tài)web頁面:
1算柳、在靜態(tài)Web程序中低淡,客戶端使用Web瀏覽器(IE、FireFox等)經(jīng)過網(wǎng)絡(luò)(Network)連接到服務(wù)器上瞬项,使用HTTP協(xié)議發(fā)起一個請求(Request)蔗蹋,告訴服務(wù)器我現(xiàn)在需要得到哪個頁面,所有的請求交給Web服務(wù)器囱淋,之后WEB服務(wù)器根據(jù)用戶的需要猪杭,從文件系統(tǒng)(存放了所有靜態(tài)頁面的磁盤)取出內(nèi)容。之后通過Web服務(wù)器返回給客戶端妥衣,客戶端接收到內(nèi)容之后經(jīng)過瀏覽器渲染解析皂吮,得到顯示的效果戒傻。
2、為了讓靜態(tài)web頁面顯示更加好看蜂筹,使用javascript/VBScript/ajax(AJAX即“Asynchronous Javascript And XML”(異步JavaScript和XML)需纳,是指一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)。)但是這些特效都是在客戶端上借助于瀏覽器展現(xiàn)給用戶的艺挪,所以在服務(wù)器上本身并沒有任何的變化不翩。
3、靜態(tài)web無法連接數(shù)據(jù)庫麻裳;
4口蝠、靜態(tài)web資源開發(fā)技術(shù):HTML;
5津坑、由于現(xiàn)在的web頁面中亚皂,大量使用JS,導(dǎo)致瀏覽器打開頁面国瓮,就會占用大量的內(nèi)存,服務(wù)端的壓力是減輕了狞谱,但壓力轉(zhuǎn)移到了客戶端乃摹。
二、動態(tài)web頁面:
動態(tài)WEB中跟衅,程序依然使用客戶端和服務(wù)端孵睬,客戶端依然使用瀏覽器(IE、FireFox等)伶跷,通過網(wǎng)絡(luò)(Network)連接到服務(wù)器上掰读,使用HTTP協(xié)議發(fā)起請求(Request),現(xiàn)在的所有請求都先經(jīng)過一個WEB Server來處理叭莫。
如果客戶端請求的是靜態(tài)資源(.htm或者是.htm)蹈集,則將請求直接轉(zhuǎn)交給WEB服務(wù)器,之后WEB服務(wù)器從文件系統(tǒng)中取出內(nèi)容雇初,發(fā)送回客戶端瀏覽器進(jìn)行解析執(zhí)行拢肆。
如果客戶端請求的是動態(tài)資源(.jsp、.asp/.aspx靖诗、.php)郭怪,則先將請求轉(zhuǎn)交給WEB Container(WEB容器),在WEB Container中連接數(shù)據(jù)庫刊橘,從數(shù)據(jù)庫中取出數(shù)據(jù)等一系列操作后動態(tài)拼湊頁面的展示內(nèi)容鄙才,拼湊頁面的展示內(nèi)容后,把所有的展示內(nèi)容交給WEB服務(wù)器促绵,之后通過WEB服務(wù)器將內(nèi)容發(fā)送回客戶端瀏覽器進(jìn)行解析執(zhí)行攒庵。