jetty和tomcat中,war包解壓縮的差別

2021-09-01 15:08:40 字數 485 閱讀 4668

jetty中處理war包解壓的**是:org.eclipse.jetty.util.resource.jarresource。使用jarinputstream來讀取war檔案,jarinputstream是首先處理可選的meta-inf/manifest.mf檔案,也就是說getnextjarentry方法不可能處理meta-inf/manifest.mf檔案了,因此jetty會在處理完所有的jarentry後,自己處理meta-inf/manifest.mf檔案。但是,這樣做的後果就是,不能設定解壓出來的meta-inf/manifest.mf檔案的最後修改時間。

tomcat中處理war包解壓的**:org.apache.catalina.startup.expandwar。使用jarfile來讀取war檔案,這樣可以獲得war中所有的jarentry,不需要自己去處理meta-inf/manifest.mf檔案。

顯然,tomcat的做法更合理一些,其保證了解壓出來的檔案具有和war中檔案一樣的最後修改時間。

Jetty和Tomcat的選擇 按場景而定

jetty和tomcat為目前全球範圍內最著名的兩款開源的webserver servlet容器。由於它們的實現都遵循j a servlet規範,乙個j a web應用部署於兩款容器的任意乙個皆可。但選擇哪個更優?也許這得看場景。近期很多人關注jetty,也許主要是因為gae放棄了tomcat而選擇...

Docker中使用Tomcat並部署war工程

首先從遠端倉庫拉取tomcat映象到本地。docker pull tomcat使用images命令檢視是否拉取成功。建立映象檔案並將war包上傳到同級目錄下。本文是在 usr local docker tomcat資料夾下建立,可根據個人需要自由調整 使用vi命令編輯dockerfile檔案 fro...

docker下執行tomcat並部署war包

2 檢視映象 3 開啟 tomcat 映象 並配置埠對映 docker run d p 80 8080 0b0a1ba53eaa 4 檢視docker程序 docker ps 5 訪問tomcat 6 進入容器內部檢視tomat docker exec it 0b0a1ba53eaa bin bas...