ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

tomcat下的host和context配置

2021-08-31 22:33:11  阅读:169  来源: 互联网

标签:... 8080 tomcat Web host 文件夹 context path localhost


终于搞懂了TOMCAT/config/server.xml里关于HOST和Context的问题了!!!!!

 

起因是因为quartz定时器总是被执行2次,还是同一个线程,查了半天说是加载了两次,虽然改了下是成功了,但是还是有点不明所以!

 

吃完午饭,无意中,把这个问题整明白了点!

 

直接上例子:

 

1.只有Host没有Context

那么会部署tomcat/webapp下的所有项目(或者说文件夹:ROOT,PLAYER,项目1,项目2...)

会直接带上文件夹名字作为属性,

特别提示ROOT的优先级高,会省去ROOT这个名字

即:

localhost:8080/项目1/...

localhost:8080/项目2/...

localhost:8080/(ROOT)xxx

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="false" deployOnStartup="false"></Host>

 

2.指定了一个Context,path=""

那么会将appBase与path拼接, docBase是你文件夹的名字,path是你的访问路径

这里path="" 那么访问路径就是 ...(webapps)/方法...(localhost:8080/add)

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="false" deployOnStartup="false">
<Context path="" docBase="aaa" debug="0" reloadable="true"/>
</Host>

 

3.指定了一个Context,path="xxx"

appBase+path拼接, docBase是你文件夹的名字,path是你的访问路径

这里path="xxx" 那么访问路径就是 ...(webapps)/xxx/方法...(localhost:8080/xxxx/add)

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="false" deployOnStartup="false">
<Context path="" docBase="book" debug="0" reloadable="true"/>
</Host>

 

4.指定了多个Context,那就必须都配上path

有多个context,就要配上多个path,这样才能根据不同的项目走不通的路径

也就是说

testa文件夹走的是localhost:8080/aaa/...

testb文件夹走的是localost:8080/bbb/...

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="false" deployOnStartup="false">
<Context path="aaa" docBase="testa" debug="0" reloadable="true"/>
<Context path="bbb" docBase="testb" debug="0" reloadable="true"/>
</Host>

 

注:

autoDeploy="false" deployOnStartup="false"这两个选项都为true的时候(一般默认autoDeploy为true)

这时候会自动加载/部署

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="ture" >
<Context path="" docBase="aaa" debug="0" reloadable="true"/>
</Host>

我之前就是这样子配置,所以走了2遍

第一遍:webapp下所有的文件夹部署(虽然我只有一个aaa文件夹)(localhost:8080/aaa/add...)

第二遍:指定aaa文件夹又走了一遍,且path为空(localhost:8080/add...)

这两个域名都能走!!!

 

==================================

博主:http://blog.csdn.net/jibaole/article/details/52765249

 

Tomcat中给server.xml加入<Context>元素

<Context>代表了运行在<Host>上的单个Web应用,一个<Host>可以有多个< Context>元素,每个Web应用必须有唯一的URL路径,这个URL路径在<Context>中的属性

path中设定。<Context>元素的属性:

 

path:指定访问该Web应用的URL入口,如:http://127.0.0.1:8080/helloApp1。

docBase:指定Web应用的文件路径,可以给定绝对路径,也可以给定相对于<Host>的appBase属性的相对路径,如果Web应用采用开放目录结构,则指定Web应用的根目录,如果Web应用是个war文件,则指定war文件的路径。


reloadable:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用。

在开发阶段将reloadable属性设为true,有助于调试servlet和其它的class文件,但这样用加重服务器运行负荷,建议在Web应用的发布阶段将reloadable设为false。
————————————————
版权声明:本文为CSDN博主「一碗米粉」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/tuntun1120/article/details/64126278

标签:...,8080,tomcat,Web,host,文件夹,context,path,localhost
来源: https://www.cnblogs.com/tsaiccj/p/15212572.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有