JavaEE企業(yè)級項目開發(fā)(第3版)課件 單元10 測試與部署_第1頁
JavaEE企業(yè)級項目開發(fā)(第3版)課件 單元10 測試與部署_第2頁
JavaEE企業(yè)級項目開發(fā)(第3版)課件 單元10 測試與部署_第3頁
JavaEE企業(yè)級項目開發(fā)(第3版)課件 單元10 測試與部署_第4頁
JavaEE企業(yè)級項目開發(fā)(第3版)課件 單元10 測試與部署_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

延遲符軟件測試簡介與Junit測試框架測試與部署什么是軟件測試軟件測試是軟件工程過程的一個重要階段,是在軟件發(fā)布前對軟件開發(fā)各階段產(chǎn)品的最終檢查,是為了保證軟件開發(fā)產(chǎn)品的正確性、完全性和一致性而檢測軟件錯誤、修正軟件錯誤的過程。軟件開發(fā)的目的是開發(fā)出實現(xiàn)用戶需求的高質(zhì)量、高性能的軟件產(chǎn)品,而軟件測試是以檢查軟件功能和其他非功能特性為核心,是軟件質(zhì)量保證的關鍵,也是成功實現(xiàn)軟件開發(fā)目標的重要保障。軟件測試執(zhí)行過程延遲符1.測試計劃確定各測試階段的目標和策略。這個過程將輸出測試計劃,明確要完成的測試活動,評估完成活動所需要的時間和資源,設計測試組織和崗位職權(quán),進行活動安排和資源分配,安排跟蹤和控制測試過程的活動。012.測試設計根據(jù)測試計劃設計測試方案。測試設計過程輸出的是各測試階段使用的測試用例。測試設計也與軟件開發(fā)活動同步進行,其結(jié)果可以作為各階段測試計劃的附件提交評審。測試設計的另一項內(nèi)容是回歸測試設計,即確定回歸測試的用例集。對于測試用例的修訂部分,也要求進行重新評審。02軟件測試執(zhí)行過程延遲符3.測試實施使用測試用例運行程序,將獲得的運行結(jié)果與預期結(jié)果進行比較和分析,記錄、跟蹤和管理軟件缺陷,最終得到測試報告。034.測試配置管理測試配置管理是軟件配置管理的子集,作用于測試的各個階段。其管理對象包括測試計劃、測試方案(用例)、測試版本、測試工具及環(huán)境、測試結(jié)果等。一般會得到一個基線測試用例庫。04軟件測試執(zhí)行過程延遲符5.資源管理包括對人力資源和工作場所,以及相關設施和技術(shù)支持的管理。如果建立了測試實驗室,還存在其他的管理問題。6.測試管理采用適宜的方法對上述過程及結(jié)果進行監(jiān)視,并在適用時進行測量,以保證上述過程的有效性。如果沒有實現(xiàn)預定的結(jié)果,則應進行適當?shù)恼{(diào)整或糾正。0506測試方法(黑盒測試)黑盒測試:

是功能測試、數(shù)據(jù)驅(qū)動測試或基于規(guī)格說明的測試。在不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測試者依據(jù)該程序功能上的輸入輸出關系,或是程序的外部特性來設計和選擇測試用例,推斷程序編碼的正確性。測試方法(白盒測試)白盒測試:

是結(jié)構(gòu)測試、邏輯驅(qū)動測試或基于程序的測試。測試者熟悉程序的內(nèi)部結(jié)構(gòu),依據(jù)程序模塊的內(nèi)部結(jié)構(gòu)來設計測試用例,檢測程序代碼的正確性。單元測試:單元測試的對象是程序系統(tǒng)中的最小單元--模塊或組件上,在編碼階段進行,針對每個模塊進行測試。多個模塊可以平行地,獨立地測試,通常要編寫驅(qū)動模塊和樁模塊。集成測試:集成測試,也稱組裝測試,聯(lián)合測試,子系統(tǒng)測試,在單元測試的基礎上,將模塊按照設計要求組裝起來同時進行測試,主要目標是發(fā)現(xiàn)與接口有關的模塊之間問題。兩種集成測試方式:一次性集成方式和增值式集成方式。功能測試:一般須在集成測試之后進行,而且是針對應用系統(tǒng)進行測試。功能測試是基于產(chǎn)品功能說明書,是在已知產(chǎn)品應具有的功能,從用戶角度來進行功能驗證,來確認每個功能是否都能正常使用。系統(tǒng)測試:是將軟件放在整個計算機環(huán)境下,在實際運行環(huán)境下進行一系列的測試,包括恢復測試,安全測試,強度測試和性能測試等。驗收測試與安裝測試:驗收測試的目的是向未來的用戶表明系統(tǒng)能夠像預定要求那樣工作,驗證軟件的功能和性能。安裝測試是指按照軟件產(chǎn)品安裝手冊或相應的文檔,進行一步一步的安裝操作性的測試。測試發(fā)生的時間順序什么是JUnitJUnit是一個開放源代碼的Java測試框架,用于編寫和運行可重復的測試。它是用于單元測試框架體系xUnit的一個實例(用于Java語言)。它包括以下特性:用于測試期望結(jié)果的斷言(Assertion);用于共享共同測試數(shù)據(jù)的測試工具;用于方便的組織和運行測試的測試套件;圖形和文本的測試運行器。使用JUnit時,主要都是通過繼承TestCase類別來撰寫測試用例,使用testXXX()名稱來撰寫單元測試,用JUnit寫測試真正所需要的就三件事:一個import語句引入所有junit.framework.*下的類;一個extends語句讓你的類從TestCase繼承;一個調(diào)用super(string)的構(gòu)造函數(shù);Junit提供的輔助函數(shù)01assertEquals([Stringmessage],expected,actual)比較兩個基本類型或?qū)ο笫欠裣嗟?expected和actual是原始類型數(shù)值(primitivevalue)或者必須為實現(xiàn)比較而具有equal方法);02030405060708assertFalse([Stringmessage],booleancondition)對布爾值求值,看它是否為“真”;assertTrue([Stringmessage],booleancondition)對布爾值求值,看它是否為“假”assertNull([Stringmessage],java.lang.Objectobject)檢查對象是否不為“空”;assertNotNull([Stringmessage],java.lang.Objectobject)檢查對象是否不為“空”;assertSame([Stringmessage],expected,actual)檢查兩個對象是否為同一實例;assertNotSame([Stringmessage],expected,actual)檢查兩個對象是否不為同一實例;fail(Stringmessage)使測試立即失敗,其中message參數(shù)使可選的。這種斷言通常被用于標記某個不應該到達的分支(例如,在一個預期發(fā)生的異常之后)。Junit測試實例1.在IDEA中建立一個JavaSE項目(JavaProject),名稱為“chap10”,然后在其中加入一個類,包名為“com.my.book”,類名為“Helloworld”,Junit測試實例完成后加入自定義方法“ShowHello”和“isSubString”packagecom.my.book;publicclassHelloWorld{ publicStringshowHello(Stringwords){ return"Hello"+words; } publicbooleanisSubString(Stringallstr,Stringsubstr){ returnallstr.indexOf(substr)>=0?true:false; } publicstaticvoidmain(String[]args){ }}在maven中引入junit<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.2</version><!--JUnit版本--><scope>test</scope></dependency></dependencies>Junit測試實例2.測試Helloworld類的兩個方法,將鼠標放置在“Helloworld.java”文件中的“Helloworld”類名上,按住Ctrl+Shift+T快捷鍵,彈出junit測試選項,選擇“CreateNewTest…”,Junit測試實例3.在彈出新建窗體中,選擇JUnit4,其他包名、類名用默認值,選中類Helloworld的要測試的兩個方法,點完成即可得到測試代碼.Junit測試實例4.得到的測試類名為HellowordTest,在同一個包下產(chǎn)生文件HellowordTest.java,完成后在HellowordTest.java中輸入測試相關代碼,importorg.junit.Test;importstaticorg.junit.Assert.*;publicclassHelloWorldTest{HelloWorldhello=newHelloWorld();@TestpublicvoidtestShowHello(){assertEquals(hello.showHello("world"),"Helloworld");assertEquals(hello.showHello("world"),"Helloworld");//故意輸入錯的結(jié)果}@TestpublicvoidtestIsSubString(){assertEquals(hello.isSubString("world","or"),true);assertEquals(hello.isSubString("world","not"),false);}}Junit測試實例5.運行測試代碼,可以同時運行全部測試,也可以單獨運行某一個測試。運行全部測試時,選擇“HelloWorldTest”旁邊的提示,運行“RunHelloWorldTest”,如圖10-4所示。運行后,得到測試結(jié)果如圖10-5所示,因為有一個故意輸入的錯誤,所以結(jié)果顯示Testfailed有1個。如果給的預期結(jié)果一致,每次的測試結(jié)果都應該是OK的,這樣才能說明測試是成功的。

圖10-4圖10-5Junit測試實例將代碼中assertEquals(hello.showHello("world"),"Helloworld")改為上一行一樣即可6.進行單獨運行某一個測試時,找到要測試的方法。例如,要測試“testShowHello()”方法,選擇方法旁邊的提示,運行“RuntestShowHello”,如圖10-7所示。圖10-7圖10-6謝謝觀看任務10.1系統(tǒng)單元測試測試與部署主講人:葛業(yè)波任務實施本任務是使用Junit測試框架測試用戶登錄模塊,用戶登錄模塊主要功能是驗證用戶的用戶名和密碼是否正確任務實施創(chuàng)建用戶類:user.java,publicclassUser{privateStringuserName;privateStringpassword;publicStringgetUserName(){returnuserName;}publicvoidsetUserName(StringuserName){this.userName=userName;}publicStringgetPassword(){returnpassword;}publicvoidsetPassword(Stringpassword){this.password=password;}}系統(tǒng)單元測試創(chuàng)建用戶登錄類:LoginAction.java,publicclassLoginAction{//用戶對象

privateUseruser;//獲取用戶對象

publicUsergetUser(){returnuser;}//設置用戶對象

publicvoidsetUser(Useruser){this.user=user;}//執(zhí)行登錄操作

publicStringexecute()throwsException{

if(user!=null&&"admin".equals(user.getUserName())&&"123456".equals(user.getPassword())){return"success";//登錄成功返回"success"}else{return"failure";//登錄失敗返回"failure"}}}系統(tǒng)單元測試創(chuàng)建用戶登錄測試類:LoginActionTest.java,publicclassLoginActionTestextendsTestCase{ protectedvoidsetUp()throwsException{ super.setUp(); } protectedvoidtearDown()throwsException{ super.tearDown(); } //測試LoginAction的execute()方法 publicvoidtestExecute(){//創(chuàng)建用戶登錄Action對象 LoginActionlogin=newLoginAction();//創(chuàng)建用戶對象 Useruser=newUser();//設置用戶名、密碼測試數(shù)據(jù) user.setUserName("admin"); user.setPassword("123456"); login.setUser(user); Stringresult=null; try{//得到Action執(zhí)行結(jié)果 result=login.execute(); }catch(Exceptione){ e.printStackTrace(); }//檢查Action執(zhí)行的結(jié)果是否正確 assertEquals("success",result); }}系統(tǒng)單元測試測試代碼測試用戶輸入的用戶名和密碼,如果用戶輸入的用戶名是“admin”、密碼是“123456”,測測試結(jié)果應該是通過,如果輸入的用戶名與密碼不正確則不能通過,測試運行結(jié)果如圖所示。

使用Junit工具測試學工管理系統(tǒng)的系統(tǒng)管理模塊拓展訓練系統(tǒng)單元測試謝謝觀看性能測試測試與部署主講人:葛業(yè)波什么是性能測試

性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統(tǒng)的各項性能指標進行測試。負載測試和壓力測試都屬于性能測試,兩者可以結(jié)合進行。通過負載測試,確定在各種工作負載下系統(tǒng)的性能,目標是測試當負載逐漸增加時,系統(tǒng)各項性能指標的變化情況。壓力測試是通過確定一個系統(tǒng)的瓶頸或者不能接收的性能點,來獲得系統(tǒng)能提供的最大服務級別的測試。軟件性能測試術(shù)語響應時間是對請求作出響應所需要的時間;并發(fā)用戶數(shù)是業(yè)務并發(fā)用戶數(shù),在同一個時間段內(nèi)訪問系統(tǒng)的用戶數(shù)量;吞吐量是指“單位時間內(nèi)系統(tǒng)處理的客戶請求的數(shù)量”,直接體現(xiàn)軟件系統(tǒng)的性能承載能力;性能計數(shù)器是描述服務器或操作系統(tǒng)性能的一些數(shù)據(jù)指標;資源利用率是系統(tǒng)各種資源的使用狀況;思考時間也被稱為“休眠時間”,從業(yè)務的角度來說,這個時間指的是用戶在進行操作時,每個請求之間的間隔時間。ApacheJMeter是Apache組織開發(fā)的基于Java的壓力測試工具。用于對軟件做壓力測試,它最初被設計用于Web應用測試但后來擴展到其他測試領域。它可以用于測試靜態(tài)和動態(tài)資源例如靜態(tài)文件、Java小服務程序、CGI腳本、Java對象、數(shù)據(jù)庫,F(xiàn)TP服務器,等等。JMeter可以用于對服務器、網(wǎng)絡或?qū)ο竽M巨大的負載,來在不同壓力類別下測試它們的強度和分析整體性能。另外,JMeter能夠?qū)贸绦蜃龉δ?回歸測試,通過創(chuàng)建帶有斷言的腳本來驗證你的程序返回了你期望的結(jié)果。為了最大限度的靈活性,JMeter允許使用正則表達式創(chuàng)建斷言。JMeter系統(tǒng)測試是什么1.安裝并啟動JMeter到/download_jmeter.cgi網(wǎng)站下載最新的JMeter的release版本,下載的.zip文件解壓到d:/JMeter目錄下。使用“%JMeter%/bin”下面的jmeter.bat批處理文件啟動JMeter的可視化界面,JMeter測試流程2.建立測試計劃

測試計劃描述了執(zhí)行測試過程中JMeter的執(zhí)行過程與步驟,一個完整的測試計劃包括一個或者多個線程組、邏輯控制、實例產(chǎn)生控制器、偵聽器、定時器、比較、配置元素等。打開JMeter時,它已經(jīng)建立一個默認的測試計劃,一個JMeter應用的實例只能建立或者打開一個測試計劃?,F(xiàn)在填充一個測試計劃內(nèi)容,這個測試計劃向一個JSP文件發(fā)出請求。JmMeter測試流程3.增加負載信息設置在測試計劃中增加相關負載設置,我們模擬10個請求者,每一個請求者在測試過程中連續(xù)請求2次,具體步驟:選中可視化界面中左邊樹的測試計劃節(jié)點,單擊右鍵,選擇“添加->Threads(User)->線程組”,界面右邊將會出現(xiàn)設置信息框;線程組有3個和負載信息相關的參數(shù)。線程數(shù):設置發(fā)送請求的用戶數(shù)目;Ramp-UpPeriod:每一個請求發(fā)生的時間間隔;循環(huán)次數(shù):請求發(fā)生的重復次數(shù)。

根據(jù)項目的設計,我們將“線程數(shù)”設置為10,Ramp-UpPeriod設置為0,循環(huán)次數(shù)設置為2,JMeter測試流程4.增加默認http屬性(可選)選擇左邊樹的“測試計劃”節(jié)點,單擊右鍵,選擇“增加->配置元件->Http請求默認值”,界面右邊將會出現(xiàn)設置信息框。默認的http屬性的主要參數(shù)說明如下:Protocol:發(fā)送測試請求時使用的協(xié)議;ServerNameorIP:被測試服務的IP地址或者名字;Path:默認的起始位置;PortNumber:服務器提供的端口號。測試計劃將針對本機Web服務器上的Web應用進行測試,所以Protocol設置為http;IP使用localhost;因為Web應用發(fā)布的Context路徑是“/chap3”,所以這里設置的Path設置為“/chap3”;因為使用Tomcat服務器,所以PortNumber是8080。JMeter測試流程5.增加http請求需要增加http請求,這是測試的主體部分,主要步驟:選中可視化界面左邊數(shù)的“線程組”節(jié)點,單擊右鍵,選擇“增加->Sampler->HttpRequest”,界面右邊將會出現(xiàn)設置信息框。這里的參數(shù)和上面的http屬性差不多,增加的屬性中有發(fā)送http的方法的選擇,我們可以選擇get或者post?,F(xiàn)在增加一個http請求,它用來訪問http://localhost:8080/chap3/addRecord.jsp,因為我們設置了默認的http屬性,所以和默認的http屬性中相同的屬性不再重復設置,JMeter測試流程6.增加監(jiān)聽器增加監(jiān)聽器是為了記錄測試信息并可以使用JMeter提供的可視化界面查看測試結(jié)果,主要步驟:選中左邊樹的“測試計劃”節(jié)點,單擊右鍵,選擇“增加->監(jiān)聽器->用表格查看結(jié)果”,界面右邊將會出現(xiàn)設置信息和結(jié)果顯示框。結(jié)果顯示界面將使用表格顯示測試結(jié)果,表格的第一列Sample#顯示請求執(zhí)行的順序和編號,URL列顯示請求發(fā)送的目標,SampleTime列顯示這個請求完成耗費的時間,最后的Success列顯示該請求是否成功執(zhí)行。在界面的最下面還可以看到一些統(tǒng)計信息,如平均時間等。JMeter測試流程7.開始執(zhí)行測試計劃點擊菜單“運行->啟動”開始執(zhí)行測試計劃,謝謝觀看任務10.2系統(tǒng)測試與性能測試測試與部署主講人:葛業(yè)波用戶登錄測試分析用戶登錄模塊要求對輸入的用戶名和密碼進行測試,要求對所有可能的輸入的可能測試,確保系統(tǒng)的健壯性。用戶登錄主要測試點:用戶名與密碼是否為空;用戶名輸入的類型與長度;密碼輸入的類型與長度;輸入系統(tǒng)存在的用戶名和密碼;輸入非法的用戶名和密碼。用戶登錄模塊輸入校驗設計<!DOCTYPEhtml><htmllang="en"><head><title>Document</title></head><body><form>

賬號<inputtype="text"name="username"id="username"style="height:28px;"><br>

密碼<inputtype="password"name="password"id="password"style="height:28px;"><br><inputclass="submit"type="submit"value="提交"style="font-size:20px;"></form><script>functionconfirmName(){//在前端form表單text輸入框中id名usernamevarname=document.getElementById("username");name.onblur=function(){if((name.value).length!=0){reg=/^[a-zA-Z]{4,8}$/;//賬號只能是4-8位if(!reg.test(name.value)){alert("輸入的用戶名只能是英文字母,并且只能是4-8位");}}else{alert("輸入賬號不能為空");}};}

用戶登錄模塊為了防止非法的用戶輸入和無效的輸入設計了用戶登錄的輸入校驗,用戶登錄代碼:login.htm,

用戶登錄模塊輸入校驗設計functionconfirmPassword(){alert("aaa");varpassword=document.getElementById("password");password.onblur=function(){if((password.value).length!=0){//密碼限制位6數(shù)字reg=/^[0-9]{6,6}$/g;//密碼只能是6位的數(shù)字if(!reg.test(password.value)){alert("您輸入的密碼智能是數(shù)字,并且只能是6位!");}}};}window.onload=function(){confirmName();confirmPassword();};</script></body></html>登錄頁面中針對用戶名、密碼字段進行了輸入的類型、長度、是否為空等進行了校驗。

用戶登錄模塊測試用例設計用戶登錄的功能是對用戶的身份進行驗證,進行測試的目的是允許合法用戶的正常登錄,阻止非法用戶登錄。用戶的登錄頁面主要有用戶名和密碼輸入框、登錄按鈕,登錄按鈕判斷輸入的合法性,合法的測試數(shù)據(jù),用戶名為“admin”,密碼為“123456”,

操作說明輸入預期結(jié)果實際結(jié)果1用戶名與密碼都為空,按“登錄”按鈕用戶名:空密碼:空顯示警告“請輸入用戶名和請輸入密碼”請輸入用戶名和密碼2用戶名輸入的是非字符,密碼輸入“123456”,按“登錄”按鈕用戶名:1233密碼:123456顯示警告“您輸入的用戶名只能是英文字母”您輸入的用戶名只能是英文字母3用戶名輸入的長度超過8個,密碼輸入“123456”,按登錄按鈕用戶名:abcdefghi密碼:123456顯示警告“用戶名長度必須在4-8位之間”用戶名長度必須在4-8位之間4用戶名輸入的長度小于4,密碼輸入“123456”,按登錄按鈕用戶名:abc密碼:123456顯示警告“用戶名長度必須在4-8位之間”用戶名長度必須在4-8位之間5用戶名輸入的長度在4與8之間,密碼輸入“123456”,按登錄按鈕用戶名:abcd密碼:123456輸入校驗正確,用戶不存在返回登錄頁面輸入校驗正確,用戶不存在返回登錄頁面6用戶名輸入“admin”,密碼輸入非數(shù)字的字符,按登錄按鈕用戶名:admin密碼:admin顯示警告“您輸入的密碼只能是數(shù)字,并且只能是6位”您輸入的密碼只能是數(shù)字,并且只能是6位7用戶名輸入“admin”,密碼輸入超過6位數(shù)字,按登錄按鈕

用戶名:admin密碼:1234567顯示警告“您輸入的密碼只能是數(shù)字,并且只能是6位”您輸入的密碼只能是數(shù)字,并且只能是6位8輸入用戶名、密碼符合要求,但不存在用戶用戶名:abcd密碼:111111返回登錄頁面返回登錄頁面9輸入用戶名、密碼符合要求,并且存在該用戶用戶名:admin密碼:123456返回主頁面返回主頁面用戶登錄模塊測試用例設計測試結(jié)果

使用JMeter工具測試學工管理系統(tǒng)的性能,使用黑盒與白盒方法測試學工管理系統(tǒng)的系統(tǒng)管理模塊,要求設計測試用例并且驗證測試用例。拓展訓練謝謝觀看主講人:葛業(yè)波延遲符Tomcat與Docker中部署測試與部署系統(tǒng)部署010203

基本

步驟配置按照應用組合者的組裝指令并獲取所有應用程序組件提供者所聲明的外部資源;分配應用程序檔案和部署配置信息通過部署API安裝到服務器上;開始執(zhí)行請求服務器開始運行應用程序。(1)將項目放在webapps下,Tomcat服務器啟動時自動部署項目。(2)更改$CATALINA_HOME\conf\server.xml文件,在<host>標簽內(nèi)添加<Context>標簽,內(nèi)容如下:<ContextdocBase="D:\javaspace\chapTest\WebRoot"reloadable="false"path="/chapTest"/>不需要將文件放置webapp下,其中reloadable="false"表示當應用程序中的內(nèi)容發(fā)生更改之后服務器不會自動加載,這個屬性在開發(fā)階段通常都設為true,方便開發(fā),在發(fā)布階段應該設置為false,提高應用程序的訪問速度。docBase為路徑,可以使用絕對路徑,也可以使用相對路徑,相對路徑相對于webapps。path屬性的值是訪問時的根地址,訪問地址如下:http://localhost:8080/chapTest/。Tomcat中部署javaweb項目(3)這種方式和第二種方式差不多,但是不是在Server.xml文件中添加Context標簽,而是在$CATALINA_HOME\conf\Catalina\localhost中添加一個xml文件,如chapTest.xml,內(nèi)容如下:<ContextdocBase="D:\javaspacechapTest\WebRoot"reloadable="false"/>這種方式與第二種方式差不多,但是缺少了path屬性,這種方式服務器會使用.xml的名字作為path屬性的值,訪問地址如下:http://localhost:8080/chapTest。

上面部署是將

chapTest文件夾部署在了服務器中,也可以將Web應用程序的內(nèi)容打成*.war包,然后在部署在服務器上。Tomcat中部署javaweb項目

jar包生成的兩種方式:使用IDEA工具生成,

菜單欄“File->ProjectStructure”,在“Projectsetting”中找到“Artifacts”,新建一個war包導出。使用jar命令生成,在dos命令下進入項目文件下,鍵入如下命令:jarcvfchapTest.war*/.,將項目中的所有代碼打包成chapTest.war。重新啟動服務器就可以將

chapTest.war部署為一個Web應用程序了,服務器將

chapTest.war文件解開,并且在webapps下面又生成了一個chapTest文件夾,然后把

chapTest.war的內(nèi)容拷貝到里面去了。

可以通過以下方式取消自動解包,配置方式如下:

<Hostname="localhost"appBase="webapps"unpackWARs="true"autoDeploy="true"><!--將其中的unpackWARs=”true”

改成false就ok了

–><Context…./>

</Host>Tomcat中部署javaweb項目Docker是一個開源的平臺,用于開發(fā)、部署和運行應用程序的容器化技術(shù)。它可以讓開發(fā)者將應用程序及其所有依賴項打包到一個稱為容器的輕量級、可移植的虛擬化容器中。Docker的核心組件包括DockerEngine、DockerHub、DockerCompose和DockerSwarm等。主要部署操作如下:(1)根據(jù)操作系統(tǒng),安裝Docker容器,進行相關配置;(2)從DockerHub上拉取官方的TomcatDocker鏡像;(3)在Docker上運行默認的Tomcat容器;(4)創(chuàng)建一個Dockerfile來定義您的Docker鏡像。在該Dockerfile中,需要指定基礎鏡像、將WAR文件復制到容器中的位置以及任何其他配置;(5)在包含Dockerfile的目錄中,構(gòu)建Docker鏡像;(6)運行Docker鏡像。Docker部署war包項目謝謝觀看主講人:葛業(yè)波任務10.3系統(tǒng)部署測試與部署(1)jar命令打包Tomcat部署(2)使用IDEA工具打包選擇“WebApplication:Archive->For‘chepTest:warexploded’”后,,填寫“Name”和文件輸出路徑“Outputdirectory”。設置后,開始創(chuàng)建war包,找到菜單欄“Bulid–>BulidArtifacts”,進行war包編譯Docker部署Docker部署基于Ubuntu操作系統(tǒng)進行,首先通過Linux命令行安裝Docker環(huán)境首先,更新現(xiàn)有的軟件包列表:sudoaptupdate接下來,安裝一些必備包,讓apt通過HTTPS使用包:sudoaptinstallapt-transport-httpsca-certificatescurlsoftware-properties-common然后將官方Docker存儲庫的GPG密鑰添加到系統(tǒng)中:curl-fsSL/linux/ubuntu/gpg|sudogpg--dearmor-o/usr/share/keyrings/docker-archive-keyring.gpg將Docker存儲庫添加到APT源:sudosh-c'echo"deb[arch=amd64signed-by=/usr/share/keyrings/docker-archive-keyring.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論