今天学到 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
appBase
是 webapps
的话
docBase="demo"(如上例)
那么 docBase 全路径 就是 ${catalina.bae}/webapps/demo = /usr/local/tomcat/webapps/demo
以上规则满足于 使用相对路径
也可以配置绝对路径。
path
根据 tomcat 官方文档解释 path 大概意思就是,当请求的uri的是以path开头是启用该Context
现在我们又可以愉快的玩耍了