tomcat webapps目录文件都能删吗_详细测试实现Tomcat根域名访问的场景,看这篇文章就够了...
寫在前面的話
首先吐槽一下,我發現國內的博客大多是垃圾,完全沒有人測試代碼,就在那瞎扯淡,如果你看到別的地方說的跟我的文章說的不一樣,請以我這篇為準,因為我每個場景都經過N次測試,確保沒有問題!
場景是什么?
最近在制作鏡像的時候,發現Tomcat的webapps目錄下有一個ROOT目錄,于是心生好奇,我并沒有哪里明顯生成這個ROOT目錄,為什么會無中生有呢?于是我開始了下面的測試。
先解釋為什么會有ROOT?
(1)當你將war包放到webapp是目錄下之后,啟動Tocmat。(這里以PaaSHelloWorld.war為例說明)
注意,我是在linux系統中測試的,執行bin目錄下的startup.sh或者catalina.sh腳本,都是可以的。只是你看到的啟動日志不一樣,事實上,啟動startup.sh腳本的時候,依然調用的是catalina.sh腳本。
上面這樣的話,純粹是幫助小白的,資深碼農勿噴
(2)進入到webapps目錄下看,此時只有PaaSHelloWorld.war和文件夾PaaSHelloWorld。
(3)如果你在server.xml文件中的Host節點下添加如下內容:
啟動tomcat之后,就會發現,webapps目錄結構為:
同時實現根域名訪問和非跟域名訪問
(4)當然,我有額外測試了別的,比如下面這樣:
得到的結果和(3)一樣。
對上面(3)(4)提到的兩種情況,既可以實現根域名訪問,也可以實現非根域名訪問。
僅實現非根域名訪問。
(1)很簡單,只需要在server.xml文件中的Host節點下添加如下內容:
此時webapps目錄結構為:
只能非根域名訪問
僅實現根域名訪問
這個問題很多地方都沒有說到,經過測試,首先應用的war包放入到除webapps目錄以外的其他的目錄,本次測試將war包放在/home/qadmsom/apache-tomcat-8.0.16。如下圖所示:
這里說明一下:官網沒有tocmat-8.0.16。
然后在server.xml文件中的Host節點下添加如下內容
啟動Tocmat之后,查看webapps目錄下的內容:
僅實現根域名訪問
實現僅僅根域名訪問的方式不只有這一種。有興趣的自己研究。
最后
這里的原理就是context,有興趣的小伙伴百度一下吧,這里就不說了,涉及到源碼,說太多,這篇文章太長了,后面我會寫的。
總結
以上是生活随笔為你收集整理的tomcat webapps目录文件都能删吗_详细测试实现Tomcat根域名访问的场景,看这篇文章就够了...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 越南沙金和黄金的区别有哪些?黄金投资要注
- 下一篇: arcgis mxt模板 创建工具条无法