關於idea 生成war 包放入tomcat的路徑訪問問題

目錄

1.打包成war

2. 關於war 和war exploded

3.在idea中使用tomcat啓動

4.把war包放在指定的tomcat下啓動

1.打包成war

點擊右上角project structure或者左上角File-project structure打開project structure文件結構,選中atrifacts,點擊+,選中web apllication archive,然後選中要打包的項目,打包後的文件後生成在output directory指定的目錄中。

點擊bulid欄目,選中build artifacts ,選中要打包的欄目,點擊bulid,然後會在指定的output dierectory 目錄中看到對應的war包。 

2. 關於war 和war exploded

war:打成war包的形式

war exploded:相當於將war包的內容解壓後放在文件夾當中

3.在idea中使用tomcat啓動

選擇Edit configurations,點擊+號,選擇本地的tomcat,在server處選擇本地的一個tomcat的路徑,此時已經配置好tomcat。

注意圖片下方的紅色警告,Warning: No artifacts marked for deployment,沒有標記要被部署的項目,也就是說我們剛剛打包的項目需要被部署到tomcat上。

點擊deployment ,點擊右邊的加號,選擇artifact,一般開發環境會選擇war exploded,方便做熱部署。修改application Context爲/,不然訪問路徑需要輸入miaosha_war_exploded這個路徑。至此配置完畢。

4.把war包放在指定的tomcat下啓動

把我們剛剛得到的war包放入指定的tomca的webapps下,啓動tomcat。輸入訪問路徑:http://localhost:8080/miaosha-0.0.1-SNAPSHOT/login/to_login,需要加上包名。因爲在miaosha-0.0.1-SNAPSHOT文件夾上纔是我們要訪問WEB-INF

資源存放的地址。但是這樣會有一個問題,就是我後續的跳轉操作就會報錯404,可以從tomcat logs文件下查看aceees.log日誌查看請求的記錄,發現請求的路徑是/login/do_login,沒有帶我們的包名,那麼訪問肯定就是404的,所以我們要想辦法去掉包名這個路徑,從localhost:8080作爲根路徑訪問。

 

我們可以這樣做,修改conf下的server文件,找到其中的Host節點,在當中加入一行:

<Context docBase="I:\apache-tomcat-8.5.20\webapps\miaosha-0.0.1-SNAPSHOT" path="" reloadable="true" crossContext="true"/>,然後重啓tomcat。

輸入我們的訪問地址http://localhost:8080/login/to_login,這時候不帶包名也能夠訪問了,後續的跳轉操作也能夠正常進行。然後在回到我們的webapps下面,可以看到多了一個ROOT文件夾,裏面放的就是我們需要的WEB-INF等資源。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章