1

今天学到 tomcat ROOT(根) 应用的部署。

传统部署,我们将我们的应用(demo)放在 webapps 目录下面时候就访问

http://localhos:8080/demo 即可。

但是如果我想通过访问 Domain 也就是 http://localhos:8080 有什么办法能访问到我们的应用呢?

答案当然是 有办法。

方法很简单 就是在 tomcat 的 appBase 制定的位置 一般是 webapps 目录下面建立一个 ROOT 目录,即可。

如果是使用 war 包部署的话。直接把你的war包。取名叫做 ROOT.war 即可。

此时访问应用的话就可以直接访问 http://localhos:8080

此时,有的小伙伴会问,把war包的名字固定成 ROOT.war 瞬间感觉节操碎了一地。那有没有。灵活一点的办法呢。

答案当然是 有办法。

知道 conf/server.xml 文件。

找到 Host 标签

Host 标签中加一个 Context 元素。(tomcat中将一个应用成为一个Context)就是对我们的 主机配置。

<Host name="localhost" appbase="webapps" ....>
   <Context docBase="demo" path="/" ... />
   <!-- 重点在docBase 和 path 属性 -->
   ...
</Host>

docBase
根据 tomcat 官方文档解释docBase是相对于 appBase 的。也就是如果 tomcat 的 $catalina.base/usr/local/tomcat
appBasewebapps 的话
docBase="demo"(如上例)

那么 docBase 全路径 就是 ${catalina.bae}/webapps/demo = /usr/local/tomcat/webapps/demo

以上规则满足于 使用相对路径

也可以配置绝对路径。

path
根据 tomcat 官方文档解释 path 大概意思就是,当请求的uri的是以path开头是启用该Context

现在我们又可以愉快的玩耍了


东来
1.7k 声望55 粉丝

一年磨一剑,专心写程序