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