Web容器、服務器、容器的理解總結

Web容器、服務器、容器的理解總結html

 

Tomcat 是一個小型的輕量級應用服務器,很受廣大程序員的喜歡,由於它運行時佔用的系統資源小,擴展性好,支持負載平衡與郵件服務等開發應用系統經常使用的功能;並且它還在不斷的改進和完善中,任何一個感興趣的程序員均可以更改它或在其中加入新的功能。java

通常認爲,當在一臺機器上配置好Apache 服務器,可利用它響應對HTML 頁面的訪問請求。實際上Tomcat 部分是Apache 服務器的擴展,但它是獨立運行的,因此當你運行tomcat 時,它實際上做爲一個與Apache 獨立的進程單獨運行的。程序員

當配置正確時,Apache 爲HTML頁面服務,而Tomcat 實際上運行JSP 頁面和Servlet。另外,Tomcat和IIS、Apache等Web服務器同樣,具備處理HTML頁面的功能,另外它仍是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。不過,Tomcat處理靜態HTML的能力不如Apache服務器。web

 

服務器,硬件角度上說就是一臺高性能的Computer。咱們一般指的服務器其實應該是裝有可以處理具體請求事務的服務器軟件的Computer。好比最多見的www服務器、mail服務器、計費服務器、ftp服務器等等。不少時候人們常把諸如Tomcat、IIS、Weblogic 也稱之爲web服務器,其實這些只是用於開發、集成、部署和管理Web應用、網絡應用和數據庫應用的應用服務器軟件。數據庫

 

一、什麼是容器?tomcat

Servlet沒有main()方法。Servlet受控於另外一個Java應用,這個Java應用稱爲容器。Tomcat就是這樣一個容器。若是web服務器應用獲得一個指向servlet的請求(而不是其餘請求,如請求一個普通的靜態HTML),此時服務器不是把這個請求交給servlet自己,而是交給部署該servlet的容器,要由容器調用servlet的方法,如doPost()或doGet()。安全

二、容器能提供什麼?服務器

通訊支持:利用容器提供的方法,你能輕鬆地讓servle與Web服務器對話;網絡

生命週期管理:容器控制着servlet的生與死。它會負責加載類、實例和初始化servlet、調用servlet方法,並使servlet實例可以被垃圾回收。多線程

多線程支持:容器會自動地爲它接收的每一個servlet請求建立一個新的java線程。針對客戶機的請求,若是servlet已經運行完相應的HTTP服務方法,這個線程就會結束(也就是會死掉)。

聲明方式實現安全:利用容器,可使用XML部署描述文件配置(和修改)安全性,而沒必要將其硬編碼寫到servlet(或其餘)類代碼中。

JSP支持:負責把JSP代碼翻譯成真正的java。

 

web應用程序須要部署到web容器中才能運行,二者都必須符合javaEE規範。web容器的應用程序規範以下:

1.目錄結構規範:javaWeb程序的全部文件都包含在一個文件夾中,包含WEB-INF子文件夾和META-INF子文件夾,WEB-INF文件夾包含classes文件夾和lib文件夾以及web.xml。

 

Tomcat結構目錄

/bin:包含啓動和關閉Tomcat的文件

/conf:包含不一樣的配置文件:server.xml,web.xml,tomcat-user.xml

/lib:包含Tomcat使用的JAR文件

/logs:包含日誌文件

/webapps:包含應用程序示例及本身開發的程序

/work:包含有JSP生成的Servlet

 

2.jar文件放在WEB-INF/lib文件夾中。

3.web.xml規範:是整個web應用程序的描述文件,裏面定義者該Web應用程序可供訪問的信息資源以及這些資源的行爲,包括servlet,過濾器,監聽器,安全驗證等信息資源。

4.其餘資源文件,如jsp,html,圖片和聲音的放在與WEB-INF同一級目錄下,由於WEB-INF文件夾對於客戶端是不可見的。

 

 

web容器是一種服務程序,是可以支持發佈web程序的軟件,在服務器一個端口就有一個提供相應服務的程序,而這個程序就是處理從客戶端發出的請求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是這樣的容器。一個服務器能夠多個容器。

b/s結構下,以常見的自來水供水系統爲例來講,整個web系統比如完整的供水系統,用戶只須要有水龍頭(Broswer),水管至關於計算機網絡(network),自來水公司的供水系統(即Server),其中的壓力水罐就是容器(Container)了。

 

 

Tomcat是Apache-Jarkarta的一個子項目,是一個開放式源碼,免費支持JSP和Servlet技術的容器,它同時又是一個Web服務器軟件。

Servlet和JSP二者分工協做,Servlet側重於解決運算和業務邏輯問題,JSP則側重於解決展現問題。Servlet與JSP一塊兒爲Web應用開發帶來了巨大的貢獻,後來出現的衆多Java Web應用開發框架都是基於這兩種技術的,更確切的說,都是基於Servlet技術的。

 

 

servlet容器的主要任務是管理servlet的生命週期。web容器更準確的說應該叫web服務器(Pythonweb容器有web.py),它是來管理和部署web應用的。還有一種服務器叫作應用服務器,它的功能比web服務器要強大的多,由於它能夠部署EJB應用,能夠實現容器管理的事務,通常的應用服務器有weblogic和websphere等,它們都是商業服務器,功能強大但都是收費的。web容器最典型的就是tomcat了,Tomcat是web容器也是servlet容器。

相關文章
相關標籤/搜索