tomcat自動解壓war包
『壹』 Tomcat 何時解壓war包
啟動的時候就會解壓吧。
例如你下的包名test.war直接放入webapps目錄下,到bin目錄下雙擊啟動startup.bat,不要關掉tomcat控制台窗口,回到webapps下應該要看到自動解壓出一個test的目錄,如果沒有的話,那可能你的war包有問題,或者你的jdk沒配置好,如果看到test目錄。
『貳』 tomcat部署完需要刪除war包嗎
可以刪除,因為當tomcat啟動以後就會自動解壓war包到webapps目錄下。Tomcat的項目部署方式有以下三種:
1.直接把項目復制到Tomcat安裝目錄的webapps目錄中,這是最簡單的一種Tomcat項目部署的方法,也是初學者最常用的方法。
2.在tomcat安裝目錄族譽陵中有一個conf文件夾,打開此文件夾,其中包含配置文件server.xml,打開配置文件,並虛裂在<host>和</host>之間兆戚插入如下語句。
<Context path="/hello" docBase="F:\eclipse3.2\workspace\hello\WebRoot" debug="0" privileged="true"> </Context>
其中,docBase為設置項目的路徑。
3.在conf目錄中,在Catalina\localhost(此處需要注意目錄的大小寫)目錄下新建一個XML文件,任意命名,只要和當前文件中的文件名不重復即可,代碼如下。
<Context path="/hello" docBase="D:\eclipse3.2\workspace\hello\WebRoot" debug="0" privileged="true"> </Context>
第三種方法相對來說比較靈活,並且可以設置別名。
『叄』 tomcat發布war包需要重啟tomcat嗎
如果開啟了勢部署,是不需要重啟的,其實啟動的只是一個context。
其中一個誤區要注意就枯悔是使用cmd命令: jar -cvf tsqa.war tsqa 打包項目的問題,不建議使用,實踐後知道打包的目錄結構和用eclips打包的目錄結構不同,且打的包更重,結構不合理。一開始遇到啟動報錯的問題,一般來說啟動就報錯是環境出問題了,換個版本的tomcat或者jdk試試。
War包一般是在進行Web開發時,通常是一個網站Project下的所有源碼的集合,裡麵包含前台HTML/CSS/JS的代碼,也包含java的代碼。當開發人員在自己的開發機器上調試所有代碼並通過後,為了交給測試人員測試和未來進行產品發布,都需要將開發人員的源碼打包成War進行發布。
War包可以放在Tomcat下的webapps或者word目錄下,隨著tomcat伺服器的啟動,它可以自動被解壓。
(3)tomcat自動解壓war包擴展閱讀
資料庫連接池的最小連接數和最大連接數的設置要考慮到下列幾個因素:
1、最小連接數是連接池一直保持的資料庫連接,所以如果應用程序對資料庫連接的使用量不大,將會有大量的資料庫連接資源被浪費。
2、最大連接數是連接池申請的最大連接數,如果資料庫連接燃納請求超過次數,後面的資料庫連接請求將被加入到等待對列中,這會影響之後的資料庫操作。
如果最小連接數與最大連接數相差太大,那麼最先的連接請求將會獲利,之後超過最小連接數量的連接請求等價於建立一個新的資料庫連接,不過,這些小於最小連接數的資料庫連接在使用完不會馬上被釋放,它將被放到連接池中等待重復使用或是空閑超時被釋放。沒段正
『肆』 SpringBoot項目使用war包部署至雲伺服器(Linux+Tomcat)
一、項目打包:
1.更改項目的啟動方式
使用web.xml運行應用程序,指向Application,最後啟動springboot(繼承SpringBootServletInitialier,重寫函數)
public class WarStartApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(Application.class);
}
}
2.更改.properties配置信息
修改相關的地址和配置信息
PS: 可採用STS自帶的動態配置系統(多配置文件)進行開發環境和生產環境的隔離。
3.更改api介面層配置文件(pom.xml)
1)進行war包配置
<packaging>war</packaging>
2)war包打包所需依賴項
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
4.執行打包操作
1)maven clean清除之前的打包
2)maven install進行打包操作
二、將war包文件上傳至伺服器
1.在api層的target文件夾下找到新生成的項目war包
2.使用rzsz工具上傳war包(rz)
三、使用Tomcat進行項目開放
1.進行 Tomcat的環境部署
2.將war包拷貝到tomcat的webapps文件夾下
3.cd至bin文件夾下(tomcat會自動解壓項目war包並進行項目部署)
使用startup.sh進行tomcat啟動
使用shutdown.sh進行tomcat關閉
『伍』 為什麼war包放在tomcat下不能自動解壓
首先war包沒有森氏納放進去的時候啟動下tomcat看下是否正常。若正常後將war包放到webapps路徑下,然核拍後啟動tomcat就可以自動解壓出來了。還有不要忘記添此沒加數據源。
『陸』 如何把war包放到tomcat執行
把war包移動到tomcat的網站根叢笑目錄猛燃(默認是webapps)滲知含,然後重啟tomcat服務,就會自動解壓了
『柒』 tomcat不自動解壓war包
是tomcat6嗎,我也遇到過
請參考我的設置進行行讓修改
<Context path="" docBase="/myweb" reloadable="true" crossContext="true" />
docBase="/myweb" 為你的文檔目錄 不要多加其他的東西,tomcat6配置和以運旦前檔悄局版本有些地方不一樣。 我以前就是多加了個debug="0",出錯的
『捌』 tomcat部署時war包解壓慢
旭勇 >《國內情況》
閱29轉02021.05.11關注
Fiddler在使用的過程中經常會碰到一些問題。這章補充一些Fiddler的用法。
2.1Fiddler必須要做的3個設置
Fiddler需要進行3個設置,這樣做使用Fiddler的過程才能順暢。
2.1.1第1個設置:在Fiddler中安裝證書
大部分網站都是使用HTTPS協議,所以必須安裝證書,這樣才能捕獲HTTPS,如圖2-1所示。
如果證書沒有安裝成功,那麼Fiddler只能鎮碼扮抓到HTTP請求,抓不到HTTPS請求,如圖2-2所示。所以一定要想辦法把證書安裝好。
圖2-1Fiddler安裝證書
圖2-2沒有抓到HTTPS
2.1.2第2個設置:自動解壓HTTP響應
在Fiddler工具欄中選中「Decode」按鈕,如圖2-3所示。這樣就會自動解壓HTTP響應,否則我們看到的HTTP響應是亂碼。
圖2-3Fiddler選中Decode按鈕
2.1.3第3個設置:隱藏「Tunner to」請求
可以在Fiddler中隱藏「CONNECT Tunnels」請求,如圖2-4所示。隱藏的方法是選擇菜單欄中的Rules→Hide CONNECTs。這樣Fiddler就不會捕獲大量無用的握手驗證請求,如圖2-5所示。這些「Tunnel to」的請求對我們沒什麼用處。因為我們平常根本不關心HTTPS是如何建立連接的。我們抓包是為了看HTTP請求和響應的數據內容,抓HTTPS也是看數據內容,而不關心HTTPS的通信是怎麼建立的。
圖2-4在Fiddler中選中Hide CONNECTs
圖2-5Fiddler中的握手驗證請求
2.2不允許抓包
軟體開發商並不希望自己的軟體被人抓包,抓包意味著自己的介面全部被人看得一清二楚,存在很多安全隱患。有很多App採取各種措施來防止被抓包。
2.2.1某些App抓不到包
某些App為了不被抓包,直接會在代碼里設置不允許使用代理,這樣Fiddler就抓不到了。
有些App能抓包,說明Fiddler的設置是正確的。某些App不能抓包,原因有很多,如下。
可能是Fiddler證書原因,解決方法是需要用證書插件來重新製作一個證書,然後重新配置。
這個App的開發者進行了特殊設置,不讓抓包。
2.2.2HTTP請求和響應全部加密
圖2-6是一個查違章的App的抓包內容,可以看到這個App可以被抓包,但是其HTTP請求和HTTP響應全部被加密了,安全性很高。
圖2-6查違章App的介面全部被加密
2.2.3不讓抓包
銀行的App對安全性要求很高,所以一般不允許抓包。某款銀行App在用Fiddler抓包的時候,App會提示網路錯誤,不讓抓包,如圖2-7所示。
圖2-7某銀行App不讓抓包
2.3Fiddler抓不到包
在使用Fiddler的過程中,有時候會發現模兆Fiddler抓不到包。下面介紹如何解決抓包失敗的問題。
2.3.1Fiddler的抓包開關
Fiddler有一個抓包的開關。打開狀態欄的時候,狀態欄的最左邊有個「Capturing」圖標,如圖2-8所示。如果沒有這個圖標,當然抓不到包了。初學者很容易忘記這個開關。
圖2-8Fiddler的抓包開關
2.3.2瀏覽器抓不到包
Fiddler能抓包是因為它是一個代理伺服器。需要抓包的程序必須把代理指向Fiddler才行。如果瀏覽器抓不到包,可能是因為瀏覽器的代理設置沒有指向Fiddler。我們可以先重啟Fiddler,然後查看瀏覽器的代理伺服器設置,或者換不同的瀏覽器試試。御灶
我們先來看一下Fiddler的抓包原理圖,如圖2-9所示。
圖2-9瀏覽器的抓包原理
如果是某一個瀏覽器抓不到包,解決方案是換其他的瀏覽器。比如IE和Chrome都能抓到,只是Firefox抓不到包,說明Fiddler本身沒有問題,可能是Firefox的代理設置沒有指向Fiddler。
如果是所有的瀏覽器都抓不到包,這說明整個Fiddler都不工作。那麼要先重啟Fiddler,再檢查下系統的代理設置,如圖2-10所示。
圖2-10系統代理設置
設置系統代理的打開方式為:控制面板→Internet選項→連接→區域網設置→代理伺服器。
2.3.3能抓HTTP不能抓HTTPS
如果發現Fiddler可以抓到HTTP的請求,但是抓不到HTTPS的請求,這說明沒有安裝Fiddler的證書或者安裝Fiddler證書失敗。Fiddler可能會提示你安裝證書。解決辦法是重新安裝證書,再重啟Fiddler,如圖2-11所示。
圖2-11重新安裝證書
重新安裝證書的操作是Options→Actions→Trust Root Certificate。
2.3.4抓不到手機中的包
很多人會碰到這種情況:Fiddler能抓本地計算機瀏覽器的包,但是抓不到手機的包。本地計算機和手機位於同一個網路,各種配置也正常,但是手機的包就是抓不到。
出現這樣的問題的原因是Fiddler所在的計算機和手機之間的網路不通。即使Fiddler所在的計算機和手機連的是同一個Wi-Fi,也可能網路不通。在同一個Wi-Fi下,網路不一定是通的。操作系統上的防火牆或者其他軟體的設置都會影響網路的通信。我們需要通過下面的步驟來檢測網路是否是通的。
第1步:測試Fiddler能否捕獲本地計算機的瀏覽器的包,如果本地瀏覽器都不能抓包,那就說明Fiddler的配置有問題。
第2步:如果Fiddler所在的計算機的IP地址是192.168.0.100,那麼Fiddler證書網站的網址是http://192.168.0.100:8888。用計算機的瀏覽器訪問Fiddler證書網站,如圖2-12所示。
圖2-12Fiddler Echo Service網頁
第3步:在手機沒有設置代理的情況下,在手機上用瀏覽器打開Fiddler的證書網站。
如果網頁打不開,說明網路不通,原因可能如下。
手機和計算機不在同一個網路。
Fiddler的允許遠程連接的設置沒有打開。
Windows的防火牆關閉(防火牆打開,可能會禁止8888埠對外開放)。
只有Fiddler證書網站能打開,才能說明手機和計算機的網路是通的。再去修改手機上的代理設置,Fiddler才能對App進行抓包。
2.3.5經過上面的設置,還是抓不到包
可以考慮換台計算機、換個手機試試,或者換別的抓包工具試試。
2.3.6mac OS系統上抓包
Fiddler是用C#開發的,目前對mac OS的支持不太友好。現在很多人都用Mac筆記本辦公,在mac OS系統上抓包可以考慮用另外兩個工具:瀏覽器開發者工具和Charles。
2.3.7Fiddler證書安裝不成功
有時候會碰到Fiddler安裝證書不成功的情況,如圖2-13所示。
圖2-13證書安裝不成功
這種情況一般在Windows7系統中出現,可以試圖用下面介紹的兩種方法來解決。
方法1:從別的機器中復制一個Fiddler根證書「FiddlerRoot.cer」放到Fiddler的安裝目錄下面,然後再重新配置證書,如圖2-14所示。
圖2-14Fiddler證書
方法2:使用Fiddler證書製作工具來重新製作證書,詳細步驟如下。
第1步:在Fiddler中刪除證書。打開Fiddler,依次打開Tools→Options,取消選中Decrypt HTTP traffic,並且在Actions中單擊「Remove Interception Certificates」,如圖2-15所示。
圖2-15Fiddler刪除證書
第2步:卸載證書。找到Fiddler的安裝目錄,其中有個unCert.exe文件。如果沒有unCert.exe就不需要卸載,如圖2-16所示。
第3步:使用Fiddler證書製作工具來重新製作證書。下載Certificate Make插件,運行下載的文件之後會生成新的證書。
第4步:在Fiddler中重新配置證書。
圖2-16Fiddler卸載證書
2.3.8iOS系統10.3以上,手動信任證書
若iOS系統版本是10.3以上,那麼證書可能沒有被信任,需要手動設置信任證書。依次打開設置→通用→關於本機→證書信任設置,將Fiddler證書啟用即可,如圖2-17所示。
圖2-17iOS中啟用Fiddler證書
2.4Fiddler包太多找不到自己想要的
Fiddler啟動後,Web Session列表就會抓到很多HTTP請求,初學者往往會比較迷茫,因為找不到自己要抓的包。下面介紹幾個方法來找到自己要抓的包。
2.4.1停止抓包
最推薦使用這個方法。在抓包之前,先把Web Session裡面抓到的數據包全部清空,然後再操作網頁。在抓到想要的包後,就暫停抓包,這個方法簡單、實用。熟練使用這個方法後,就不需要使用其他過濾的方法了。抓包開關如圖2-18所示。
圖2-18抓包開關
2.4.2隻抓手機,不抓本地的包
在專門抓App的包的時候,Fiddler裡面混雜了本地計算機和手機App的包,如果只想抓手機App的包,這時候可以選擇「…from remote clients only」,如圖2-19所示。
圖2-19設置只抓遠程的包
2.4.3過濾會話
Fiddler有非常強大的過濾會話的功能,假如不想看到localhost的數據包,就可以把它隱藏。過濾的設置如圖2-20所示。注意,在設置時兩個Host之間要用分號隔開。
圖2-20用Filters選項卡隱藏localhost
注意:使用了Filters選項卡後,記得取消Filters選項卡。可能下次抓包的時候,忘記設置Filters選項卡而抓不到包。很多人犯過這個錯誤。
2.4.4隻抓特定的進程
在狀態欄中選擇Web Browsers或者Non-Browser來選擇進程,如圖2-21所示。此外,工具欄中還有個按鈕:Any Process,單擊這個按鈕把十字圖標拖曳到想要抓包的程序上面,就只會抓特定進程的包,如圖2-22所示。
圖2-21狀態欄上按進程過濾
圖2-22隻抓特定的進程
2.4.5觀察URL和HOST
觀察圖2-23中的URL,可知這是登錄相關的數據包。URL的命名都會是有意義的。比如登錄的介面會包含login,注銷的URL中會包含logout。
圖2-23觀察URL
2.4.6查看進程發包
進程是計算機中程序的一次運行活動。Fiddler的Process列對應本地Windows進程。通過這一列我們可以知道是哪個進程在發包,如圖2-24所示。
圖2-24在Fiddler中查看進程
2.5HTTPS是否安全
Fiddler能分析HTTPS流量是不是意味著HTTPS協議不安全?
HTTPS是安全的,Fiddler抓HTTPS的時候安裝了一個Fiddler的證書,所以Fiddler可以解密HTTPS的內容。HTTPS請求從計算機上發送到網路後,HTTPS的內容全部是加密的。
2.6計算機連接手機熱點抓包
在沒有Wi-Fi的情況下,我們用手機開熱點,計算機連接手機的熱點來上網,這個時候計算機上的Fiddler能否抓到手機上的包呢?答案是不能。因為手機開熱點後,採用的是GPRS手機流量上網,這個時候手機不能設置代理伺服器的,如圖2-25所示。
圖2-25WLAN熱點
如果有兩個手機,一台計算機,那麼就可以抓包了。一個手機當成熱點,另外一台手機和計算機都使用這個熱點上網,手機的代理就可以指向計算機了。
客戶端如何抓包
如果程序是用.NET開發的,那麼Fiddler可以抓到包。因為.NET程序默認會使用系統代理。如果程序是用別的語言開發的,只要這個程序支持用戶自定義代理,那麼Fiddler也可以抓到包,比如Fiddler可以抓QQ。
如果客戶端程序不支持代理,那麼Fiddler就抓不到包了。
2.7Fiddler測試App升級
Fiddler常用於App的升級測試,我們可以利用Fiddler偽造響應來測試App升級。
2.7.1App升級原理
App是否升級的檢查是在啟動App訪問伺服器時進行的,把本地計算機上App的最新版本號與伺服器端的最新版本號作對比,如果不一致就提示升級。
App升級的時候,App會發送一個HTTP請求,來問伺服器有沒有最新版。如圖2-26所示,如果沒有最新版,伺服器返回的HTTP響應中會說沒有更新。
圖2-26App沒有新版本
如果有最新版,伺服器返回的響應會告知有新版本,並且App端會有彈窗提示,如圖2-27和圖2-28所示。
圖2-27App有新版本
圖2-28App更新提示
2.7.2App升級的測試
在實際測試中,我們一般不會去修改伺服器,因為修改伺服器會遇到下述問題。
修改伺服器的代碼,需要有很好的代碼能力,99%的人做不到。
修改伺服器的代碼,還需要重新部署,耗時耗力。
不靈活,升級的情況有好幾種,每次修改都要重新部署。
用Fiddler來模擬升級比較簡單,如圖2-29所示。
圖2-29Fiddler模擬
我們用Fiddler偽造一個HTTP響應就可以了。可以用下斷點的方式修改HTTP響應,或者用Fiddler中的AutoResponder。接下來以堅果雲為例介紹一下升級。
2.7.3堅果雲的升級
堅果雲每次啟動的時候,都會調用一個latestVersion的介面來查詢伺服器,看客戶端有沒有更新的版本,如圖2-30所示。
對比HTTP響應中的版本和本地版本,如果伺服器返回的版本更高,那麼客戶端就會彈出對話框,提醒用戶升級App。
圖2-30堅果雲的升級
2.8短鏈接
短鏈接就是把普通網址轉換成比較短的網址(如https://dwz.cn/8oVtHHyH)。在微博或者其他限制字數的應用里,短鏈接有很多好處:網址短、字元少、美觀、便於發布和傳播。
我們平常工作中寫郵件使用短鏈接也會讓郵件更加簡潔和美觀。
2.8.1短鏈接原理解析
當我們在瀏覽器里輸入https://dwz.cn/8oVtHHyH時:
瀏覽器會發送一個HTTP GET請求給dwz.cn;
dwz.cn伺服器會通過短碼8oVtHHyH獲取對應的長網址;
伺服器返回HTTP 301或者302的響應,響應中包含了長網址;
瀏覽器會跳轉到長網址。
2.8.2使用短鏈接
短鏈接的服務提供商有很多,比如:網路短網址http://dwz.cn,如圖2-31所示。
圖2-31使用網路短網址
2.8.3Fiddler抓包短鏈接
打開Fiddler,再打開瀏覽器,輸入網址https://dwz.cn/8oVtHHyH。用Fiddler抓包短鏈接如圖2-32所示。
圖2-32Fiddler抓包短鏈接
從圖2-32中可以看到短鏈接的原理很簡單,利用HTTP協議的跳轉,用301或者302都可以。
2.9本章小結
本章介紹了Fiddler的常用使用技巧,包括抓包設置、抓不到包的解決方法等。讀者可以對照本章排查Fiddler使用過程中遇到的問題。此外,讀者還可以了解用Fiddler測試App升級和短鏈接的概念。
本文摘自:《HTTP抓包之介面自動化測試》
本書的內容都是我多年從事介面測試的經驗總結,非常貼近我們的實際工作,能幫助大家解決實際工作中的難題。
本書的內容比較簡單,實例豐富,讀者閱讀起來會感覺比較輕松、容易上手,讀完本書不需要花費太多時間。通過本書的學習,如果讀者能夠自行開發出一個訂票工具,或者實現一個電商網站的自動下訂單操作,那麼恭喜你,已經掌握了本書的所有知識。
本書的主要內容有HTTP的基礎知識;如何使用Fiddler來抓HTTP包;如何分析HTTP包;如何通過JMeter和Postman等發送HTTP包,從而實現軟體自動化測試和介面的自動化測試;如何使用抓包工具來實現安全測試和性能測試等;幾個日常生活中應用比較廣泛的綜合實例。
本站僅提供存儲服務,所有內容均由用戶發布,如發現有害或侵權內容,請點擊舉報。
展開剩餘內容
打開APP閱讀全文並永久保存
更多類似文章
猜你喜歡
類似文章
Fiddler和app抓包
fiddler對瀏覽器、app抓包及證書安裝
你想要的Fiddler抓包實操小技巧
python爬蟲教程:教你通過 Fiddler 進行手機抓包
利用Fiddler 可以抓取HTTPS
抓包|獲取移動app里的數據
更多類似文章 >>
生活服務
首頁萬象文化人生生活健康
教育職場理財娛樂藝術上網
留言交流回頂部
聯系我們
觸屏版| 下載APP
京ICP證090625號 京ICP備05038915號
京網文[2019]6000-697號 京公網安備 11010502030377號
關注公眾號
保存
生成長圖
分享
『玖』 安裝一個軟體,安裝好之後會自動啟動tomcat服務,然後解壓安裝目錄下的war包。
這個是正常的 tomcat 配置的server 文件里的host節點下 有unpackWARs="true" 這樣每次運行時都會自動解壓war,關閉服務時會自動刪除剛才解壓的文件 把unpackWARs="false" 就不會再解壓而是直接運行war包了。
『拾』 Tomcat部署war項目
1、添加spring-boot-starter-tomcat的provided依賴
2、添加maven-war-plugin插件
啟動類還需要繼承SpringBootServletInitializer類
使用命令將項目打成war包
webapps會自動發布war項目,會自動解做唯壓war包。
通過這樣的方式會有一個缺點,訪問路徑下必須加上一個項目名稱。
例如:在編碼環境下,訪問主頁的路徑是如下
http://localhost:8080/login/to_login
但是把war包放在webapps必須這樣訪問
http://localhost:8080/ 項目名/login/to_login
刪除webapps下的ROOT目錄,將war包的名字改為ROOT.war,webapps下的war會自動發布,會生成ROOT文件目錄
刪除ROOT目錄下的所有文件,將純碧培war包中的所有內容提取出來,放入ROOT目錄下
將war包放在wenapps目錄下,修改conf/server.xml中的配置
在server.xml 里,<host>...</host>的標簽之間添加標簽
這樣之後就可以不帶項目名字訪問。在重啟tomcat之前,最好先清空work/catalina/下所有東西(清空緩存)慧攔