Tomcat 僅用ip和埠 不用專案名就能訪問專案
今天發現生產上tomcat專案 僅用ip+埠 就能訪問專案,覺得很奇怪,百思不得其解,各種嘗試,終於找出原因
例:
http://192.168.50.248:8081/login.htm 能直接進入專案的登入頁面
http://192.168.50.248:8081/project/login.htm 也能進入專案的登入頁面
於是,我本地tomcat嘗試了下,發現如果不加專案名,訪問就404了,
後來我加了專案名,登入頁面能訪問,但是登入成功,跳轉到index.htm的時候,專案名又不見了 而且響應又是404
後面發現,原來是tomcat預設啟動專案惹的禍,如果配置了tomcat預設啟動專案
具體操作如下:
1、開啟tomcat安裝根目錄,開啟conf目錄下service.xml,找到<Host>節點,並且在該節點下新增:
<Context docBase="/home/tomcat/webapps/project" path="" debug="0" reloadable="true" />
說明:紫色部位為 你的專案路徑,由於我是放到webapps目錄下,所以就指向webapps
2、開啟tomcat目錄下的webapps目錄,找到ROOT專案,將其改成另一個名字
3、重啟Tomcat
重啟成功後就能直接在瀏覽器中用 ip地址+埠 訪問專案了
例:http://localhost:8081/login.htm
最後:我還存在一個疑問,按道理我最開始的路徑有專案名,那麼我接下來的 相對路徑請求 應該也會帶有專案名的
就好像http://192.168.50.248:8081/project/login.htm 請求是可以訪問登入頁面的,但是為什麼我請求成功,return "/index" 的時候,
按正常來說應該返回到http://192.168.50.248:8081/project/index.htm
可是返回的時候把專案名也丟了,地址變成了http://192.168.50.248:8081/index.htm ,這就是我很疑問的地方,試了很多地方,也不知道哪裡配置的