這個軟件用來裝載你的javaweb程序,可以稱它為web容器,你的jsp/servlet程序需要運行在Web容器上,Web容器有很多種,JBoss、WebLogic等等,Tomcat是其中一種。tomcat是一種web服務器,也可以稱作運行在服務器(物理意義上的計算機)上的一種軟件包。用來對服務器上的HTML文檔提供訪問權限控制。
以上的說法可能太專業化,一時難以理解。其實用通俗的語言來講,萬維網本質上就是“超文本文檔”(HTML文檔)組成的一個通過超級鏈接互相訪問交互網絡。你從甲計算機上的文檔A通過超鏈接訪問乙計算機上的文檔B,而B必須放在Web服務器(Tomcat)里才能被訪問。Tomcat是一個免費的開源的Serlvet容器,它是Apache基金會的Jakarta項目中的一個核心項目,由Apache,Sun和其它一些公司及個人共同開發而成。由於有了Sun的參與和支持,最新的Servlet和Jsp規范總能在Tomcat中得到體現。
與傳統的桌面應用程序不同,Tomcat中的應用程序是一個WAR(WebArchive)文件。WAR是Sun提出的一種Web應用程序格式,與JAR類似,也是許多文件的一個壓縮包。這個包中的文件按一定目錄結構來組織:通常其根目錄下包含有Html和Jsp文件或者包含這兩種文件的目錄,另外還會有一個WEB-INF目錄,這個目錄很重要。通常在WEB-INF目錄下有一個web.xml文件和一個classes目錄,web.xml是這個應用的配置文件,而classes目錄下則包含編譯好的Servlet類和Jsp或Servlet所依賴的其它類(如JavaBean)。通常這些所依賴的類也可以打包成JAR放到WEB-INF下的lib目錄下,當然也可以放到系統的CLASSPATH中,但那樣移植和管理起來不方便。
Tomcat不僅僅是一個Servlet容器,它也具有傳統的Web服務器的功能:處理Html頁面。但是與Apache相比,它的處理靜態Html的能力就不如Apache。我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態Html,而Tomcat處理Jsp和Servlet。這種集成只需要修改一下Apache和Tomcat的配置文件即可。
總結:就是web應用放到tomcat里面才能跑得起來,而tomcat里面對項目有規定特定的格式,就是war包的格式,這就是為什么我們需要把項目打成war才能丟進去
簡單總結下,tomcat是一個中間件,在B/S架構中,瀏覽器發出的http請求經過tpmcat中間件,轉發到最終的目的服務器上,響應消息再通過tomcat返回給瀏覽器。
tomcat所做的事情主要有:開啟監聽端口監聽用戶的請求,解析用戶發來的http請求然后訪問到你指定的應用系統,然后你返回的頁面經過tomcat返回給用戶。