tomcat的虚拟站点问题

<Host name="localhost" appBase="webapps"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
</Host>
appBase:站点根目录

例如:(括号内是html文件的内容)
c:\\.....\webapps\
                  ROOT\
                       WEB-INF\
                       index.html(webapps\ROOT\index)
          WEB-INF\
          index.htm(c:\index)
d:\test\
        ROOT\
             WEB-INF\
             index.htm(d:test\ROOT\index)
   WEB-INF\
   index.html(d:\index)

一、不设置Context

1.url请求 http://localhost:8080/ 后,tomcat会在server.xml中查找name=localhost的Host。然后根据appBase的映射路径(webapps)“内”去寻找web站点,由于在Host中没有配置Context,所以tomcat会指定ROOT目录作为默认站点,从而执行ROOT下index。
请求后显示结果 :
webapps\ROOT\index

二、设置Context

1.<Context path="" docBase="D:\test" />
当请求http://localhost:8080/会把docBase指定的目录作为访问的web站点
请求后显示结果 :
d:\index
2.<Context path="" docBase="." />
当请求http://localhost:8080/会把webapps目录作为访问的web站点,因为"."指的是Host设置的appBase路径
请求后显示结果 :
c:\index
3.<Context path="/test" docBase="D:\test"/>
当请求http://localhost:8080/test/会把D:\test目录作为访问的web站点(这点其实是设置虚拟子目录)
请求后显示结果 :
d:\index


如果修改或者增加Host
<Host name="site" appBase="D:\test"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
</Host>

一、不设置Context

1.url请求 http://site:8080/ 后,tomcat会在server.xml中查找name=site的Host。然后根据appBase的映射路径(D:\test)“内”去寻找web站点,由于在Host中没有配置Context,所以tomcat会指定ROOT目录作为默认站点,从而执行ROOT下index。
请求后显示结果 :
d:test\ROOT\index

二、设置Context

1.<Context path="" docBase="C:....\webapps" />
当请求http://site:8080/会把docBase指定的目录作为访问的web站点
请求后显示结果 :
c:\index
2.<Context path="" docBase="." />
当请求http://site:8080/会把D:\test目录作为访问的web站点,因为"."指的是Host设置的appBase路径
请求后显示结果 :
d:\index
3.<Context path="/test" docBase="C:....\webapps"/>
当请求http://site:8080/test/会把C:....\webapps目录作为访问的web站点(这点其实是设置虚拟子目录)
请求后显示结果 :
c:\index

*当然要在本地访问http://site:8080/ 还需要C:\WINDOWS\system32\drivers\etc\hosts内添加 127.0.0.1   site
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值