淺析idea生成war包放入tomcat的路徑訪問問題
點擊右上角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.20webappsmiaosha-0.0.1-SNAPSHOT' path='' reloadable='true' crossContext='true'/>,然后重啟tomcat。
輸入我們的訪問地址http://localhost:8080/login/to_login,這時候不帶包名也能夠訪問了,后續的跳轉操作也能夠正常進行。然后在回到我們的webapps下面,可以看到多了一個ROOT文件夾,里面放的就是我們需要的WEB-INF等資源。
到此這篇關于idea 生成war 包放入tomcat的路徑訪問問題的文章就介紹到這了,更多相關idea war 包tomcat路徑訪問內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
