1. 程式人生 > >j2ee應用伺服器和web伺服器

j2ee應用伺服器和web伺服器

Tomcat伺服器是一個免費的開放原始碼的Web應用伺服器。因為Tomcat技術先進、效能穩定且免費,所以深受Java愛好者的喜愛並得到了部分軟體開發商的認可,成為目前比較流行的Web應用伺服器。

一、Tomcat與應用伺服器

到目前為止,Tomcat一直被認為是Servlet/JSP API的執行器,也就所謂的Servlet容器。然而,Tomcat並不僅僅如此,它還提供了JNDI和JMX API的實現機制。儘管如此,Tomcat仍然還不能算是應用伺服器,因為它不提供大多數J2EE API的支援。

很有意思的是,目前許多的應用伺服器通常把Tomcat作為它們Servlet和JSP API的容器。由於Tomcat允許開發者只需通過加入一行致謝,就可以把Tomcat嵌入到它們的應用中。遺憾的是,許多商業應用伺服器並沒有遵守此規則。

對於開發者來說,如果是為了尋找利用Servlet、JSP、JNDI和JMX技術來生成Java Web應用的話,選擇Tomcat是一個優秀的解決方案;但是為了尋找支援其他的J2EE API,那麼尋找一個應用伺服器或者把Tomcat作為應用伺服器的輔助,將是一個不錯的解決方案;第三種方式是找到獨立的J2EE API實現,然後把它們跟Tomcat結合起來使用。雖然整合會帶來相關的問題,但是這種方式是最為有效的。。

二、Tomcat與Web伺服器

Tomcat是提供一個支援Servlet和JSP執行的容器。Servlet和JSP能根據實時需要,產生動態網頁內容。而對於Web伺服器來說, Apache僅僅支援靜態網頁,對於支援動態網頁就會顯得無能為力;Tomcat則既能為動態網頁服務,同時也能為靜態網頁提供支援。儘管它沒有通常的Web伺服器快、功能也不如Web伺服器豐富,但是Tomcat逐漸為支援靜態內容不斷擴充。大多數的Web伺服器都是用底層語言編寫如C,利用了相應平臺的特徵,因此用純Java編寫的Tomcat執行速度不可能與它們相提並論。

一般來說,大的站點都是將Tomcat與Apache的結合,Apache負責接受所有來自客戶端的HTTP請求,然後將Servlets和JSP的請求轉發給Tomcat來處理。Tomcat完成處理後,將響應傳回給Apache,最後Apache將響應返回給客戶端。

附:關於web伺服器和應用伺服器的總結,很經典http://www.cnblogs.com/itech/archive/2009/08/18/1548860.html。

總結:以前對tomcat是什麼伺服器不是很清楚,現在瞭解了,原來應用服務區和web伺服器只是一種概念,界限沒有那麼清楚,具體的產品可以具體實現自己的功能!例如tomcat。也算是學習了。