導航:首頁 > 編程語言 > web容器java

web容器java

發布時間:2024-08-29 02:15:19

⑴ 各種容器和伺服器之間的區別和聯系

平時我們經常看到各種容器名稱:Servlet容器、WEB容器、Java WEB容器、Java EE容器等,還有各種伺服器名稱:應用伺服器、WEB伺服器、WEB應用伺服器、JavaWEB應用伺服器、Java EE伺服器等,這么多相似名稱,難以弄明白它們之間的區別與聯系。

下面我們嘗試從它們的定義中,區分它們,找出他們之間的聯系,最後通過Apache、nginx、tomcat等舉例說明容器以及伺服器的聯系。

如上圖,我們先來看下容器與伺服器的聯系:容器是位於應用程序/組件和伺服器平台之間的介面集合,使得應用程序/組件可以方便部署到伺服器上運行。

容器通常理解就是裝東西的,我們這里說技術上的容器就是 可以部署應用程序,並在上面運行的環境

一般來說,它處理屏蔽了伺服器平台的復雜性,使得應用程序在它的基礎上可以方便快捷的部署;而對於應用程序來說,它就是位於 應用程序和平台之間的介面集合

容器管理組件的生命周期,向應用程序組件分派請求,並提供與上下文數據(如關於當前請求的信息)的介面。

Servlet:屬於Java EE重要技術規范,構建了"接收請求--調用servlet程序處理--返回響應"基本模型。

Servlet程序:Java提供了開發Servlet程序的API,該API可以說Servlet容器的一部分,它對接應用程序與Servlet容器;

Servlet容器:就是實現了Servlet技術規范的部署環境,它可以部署運行Servlet程序。

WEB容器:可以部署多個WEB應用程序的環境。web容器給處於其中的應用程序組件(jsp,servlet)提供一個環境,使JSP,Servlet直接跟容器中的環境變數交互,不必關注其他系統問題。

Java WEB容器:實現了 Java EE規定的WEB應用技術規范 的部署環境。

Java EE WEB應用技術規范:Servlet、JSP(JavaServer Pages)、Java WebSocket等。

所以,完整的Java WEB容器包含Servlet容器。

伺服器是提供計算服務的設備。由於伺服器需要響應服務請求,並進行處理,因此一般來說伺服器應具備承擔服務並且保障服務的能力。

簡單來說,伺服器是 提供某些服務的設備

應用程序:是指為針對使用者的某種應用目的所編寫的軟體。

應用伺服器:就是運行應用程序,提供應用程序所實現服務的設備。

通常來說, 伺服器端的應用程序實現各種業務邏輯,應用伺服器通過各種協議把這些業務邏輯曝露給客戶端的程序 。它提供了訪問商業邏輯的途徑,以供客戶端應用程序使用。應用伺服器使用此業務邏輯就像調用對象的一個方法一樣。

WEB:現廣泛譯作網路、互聯網等技術領域。表現為三種形式,即超文本(hypertext)、超媒體(hypermedia)、超文本傳輸協議(HTTP)等。

WEB伺服器:或者叫 HTTP Server ,主要用於操作Http請求,包括接受客戶端的請求以及響應。它可以處理請求,也可以將請求轉發至其他伺服器。

簡單來說,WEB伺服器是提供網上信息瀏覽等WEB服務的設備。 Apache、Nginx、IIS是目前最主流的三個Web伺服器。可以用它們來構建WEB應用伺服器,通常它們發現一個請求是動態請求,就通過CGI、ISAPI、特殊管道等協議介面調用後面的應用伺服器來協同處理請求。如Nginx通過fastCGI模塊來調用ZendEngine執行PHP應用來處理PHP請求。

上面我們 把應用伺服器和WEB伺服器 嚴格區分:應用伺服器通過應用程序介面(通常是網路請求API)把業務邏輯暴露給客戶端應用程序。而WEB伺服器通過HTTP提供靜態內容給瀏覽器等客戶端。

如果不嚴格區分,應用伺服器包含WEB伺服器,因為WEB伺服器是WEB服務應用程序實現的。

WEB應用伺服器:結合應用伺服器和WEB伺服器,可以說,它是帶應用伺服器的Web伺服器,接收HTTP請求後,既能返回頁面等靜態內容,又能處理業務邏輯返回數據。

Tomcat、Jetty、WebLogic、Websphere、JBoss都是Java(EE) WEB應用伺服器。拿最常用的Tomcat來說,Tomcat是Java Servlet,JavaServerPages,Java Expression Language和JavaWebSocket(Java EE)技術的開源實現。

Java EE伺服器是實現Java EE技術規范,並提供標准Java EE服務的應用程序伺服器。

Java EE伺服器有時稱為應用伺服器,因為它們允許您向客戶端提供應用數據,就像Web伺服器向Web瀏覽器提供Web頁面一樣。

一個典型的JavaEE系統可以由兩部分構成首先是Web Server 用於處理靜態資源,然後是JavaEE Application Server 用於處理業務的動態資源。而這兩部分可以是單獨的伺服器例如Nginx+WebSphere也可以在一個伺服器上完成比如Tomcat(Tomcat即可以處理靜態資源又可以處理動態的Servlet)。

從概念上講:Web伺服器是提供WWW服務的程序;Web容器是提供給開發者的框架;Web應用程序伺服器內容豐富得多,既可用各廠商通常遵循一定的工業標准並自定義擴展功能而成,也可以利用開源組件輕量級拼裝打造。

閱讀全文

與web容器java相關的資料

熱點內容
linux命令強制退出 瀏覽:77
videostation怎麼添加文件夾 瀏覽:184
pythonrawsocket 瀏覽:861
編譯原理計算思維能力 瀏覽:247
衛星加密技術的應用 瀏覽:901
怎麼看手機實用頻率高的app 瀏覽:72
c實現sha1演算法 瀏覽:784
h200cy1是多大壓縮機 瀏覽:62
hbase查看錶結構命令 瀏覽:861
怎麼將rar解壓成安裝包 瀏覽:29
程序員幾點開始學習 瀏覽:201
linux百度雲文件 瀏覽:398
下載軟體解壓到哪裡合適 瀏覽:264
百度智能雲演算法工程師 瀏覽:98
模鍛造pdf 瀏覽:211
dom編程api 瀏覽:58
批處理復制命令 瀏覽:503
廢鐵壓縮打包機 瀏覽:98
linux打開圖形界面命令 瀏覽:368
女孩子學習程序員還是剪輯師好 瀏覽:284