Tomcat是Apache 軟件基金會(huì)(Apache Software Foundation)的Jakarta 項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache、Sun 和其他一些公司及個(gè)人共同開發(fā)而成。
因?yàn)門omcat 技術(shù)先進(jìn)、性能穩(wěn)定,而且免費(fèi),因而深受Java 愛好者的喜愛并得到了部分軟件開發(fā)商的認(rèn)可,成為目前比較流行的Web 應(yīng)用服務(wù)器。
Tomcat 服務(wù)器是一個(gè)免費(fèi)的開放源代碼的Web 應(yīng)用服務(wù)器,屬于輕量級(jí)應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP 程序的首選。
對(duì)于一個(gè)初學(xué)者來說,可以這樣認(rèn)為,當(dāng)在一臺(tái)機(jī)器上配置好Apache 服務(wù)器,可利用它響應(yīng)HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個(gè)應(yīng)用)頁面的訪問請求。實(shí)際上Tomcat 部分是Apache 服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)你運(yùn)行tomcat 時(shí),它實(shí)際上作為一個(gè)與Apache 獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。
訣竅是,當(dāng)配置正確時(shí),Apache 為HTML頁面服務(wù),而Tomcat 實(shí)際上運(yùn)行JSP 頁面和Servlet。另外,Tomcat和IIS等Web服務(wù)器一樣,具有處理HTML頁面的功能,另外它還是一個(gè)Servlet和JSP容器,獨(dú)立的Servlet容器是Tomcat的默認(rèn)模式。不過,Tomcat處理靜態(tài)HTML的能力不如Apache服務(wù)器。
問題1:那JavaWeb的應(yīng)用為什么要在部署tomcat上呢?
原因如下:
1.首先要使用http訪問到web應(yīng)用的服務(wù)器需要開一個(gè)端口來監(jiān)聽請求。
2.既然使用的是http協(xié)議,那么也需要解析來自網(wǎng)絡(luò)的http請求。
3.解析了之后需要訪問到對(duì)應(yīng)的應(yīng)用系統(tǒng)。
4.系統(tǒng)處理了請求之后返回的結(jié)果集,需要返回給用戶讓用戶能在瀏覽器中展示。
中間件(tomcat)就是幫你完成了上述的事情。
開啟監(jiān)聽端口監(jiān)聽用戶的請求,解析用戶發(fā)來的http請求然后訪問到你指定的應(yīng)用系統(tǒng),然后你返回的頁面經(jīng)過tomcat返回給用戶。
在舉個(gè)更形象的例子:
普通的html,瀏覽器可以直接搞定。
但是如servlet這些,瀏覽器沒法直接將里面的內(nèi)容解析出來。這些就需要一個(gè)工具進(jìn)行處理。
讓瀏覽器能夠在訪問主機(jī)的時(shí)候,將這些信息正確的識(shí)別出來。
普通的web,猶如你去外面燒烤。你只要拿著肉去,自己烤著吃就行了。
動(dòng)態(tài)web,如同你去吃飯店吃宴席,即使你帶些豬肉,牛肉,青菜,油鹽過去,你根本就無法達(dá)到自己目的。
宴席,肯定比比一般的燒烤更加讓人羨慕。
但是,宴席必須需要一個(gè)廚師團(tuán)隊(duì)在里面進(jìn)行工作,方能夠保證客人能夠享用。
類比的話,tomcat,就相當(dāng)于飯店里的廚師服務(wù)員團(tuán)隊(duì)。
問題2:tomcat運(yùn)行需要JDK嗎?為什么?
需要jre即可,有jre 就可以運(yùn)行. jdk 是供開發(fā)的編譯工具, jre :java 代碼運(yùn)行環(huán)境.tomcat 中是一個(gè)java解析器.所以他只需要jre即可。
因?yàn)閠omcat是用java寫的,所以運(yùn)行需要JRE,就是JAVA運(yùn)行時(shí)刻環(huán)境,所以必須通過安裝JDK來得到這個(gè)運(yùn)行環(huán)境,不裝JDK裝JRE也行,sun的網(wǎng)站上有下載。但是JRE只是運(yùn)行時(shí)刻化境,不能編譯JAVA源程序。