Tomcat 虚拟目录与主机名

虚拟目录的 Why&& How

场景

  • 你写了个webApp,项目名叫ASimpleWebApp,然后你访问的话,需要敲localhost:8080/ASimpleWebApp,好麻烦是吧,名字好长。

对策

  • 第一种方法,最简单的方法,你可以将webapps目录下的ASimpleWebApp文件夹改个简单名,
  • 第二种,高明的方法(或许高明一点),直接对Tomcat说:以后你将对localhost:8080/A的访问全都映射到ASimpleWebApp目录下。怎么实现呢?
    <host></host>标签中加入(假设ASimpleWebApp所在的目录是C:\apache-tomcat-7\webapps\ASimpleWebApp)
 <Context path="/A" docBase="D:\test" reloadable="true"></Context>

注意,这个ASimpleWebApp文件夹是可以随便放的,也就是说不一定要放在Tomcat的webapps目录下
也就是说你完全可以将ASimpleWebApp文件夹放到D盘,然后改为

<Context path="/A" docBase="D:\ASimpleWebApp" reloadable="true"></Context>

总结

  • 仔细推敲下虚拟目录这个词,你会发现它的用途
    虚拟目录就是将其他目录以映射的方式虚拟到该FTP服务器的主目录下,这样,一个FTP服务器的主目录实质上就可以包括很多不同盘符、不同路径的目录,而不会受到所在盘空间的限制了。
  • 还有一种比较好玩的玩法,例如我可以将localhost:8080直接映射到一个webapp,以后,只要敲上localhost:8080就可以直接访问那个webapp了,然后改下端口,8080也可以去掉,server.xml下有一个
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
将8080改成80,然后以后直接敲localhost就可以了

主机名的 Why 与 How

场景

  • 只有一台服务器,上边运行着两个webapp:Blog和Novel。访问不同app要敲www.kitrst.cn/Novelwww.kitrst.cn/Blog。没感觉这种url比较“土”吗?
  • 需求来了:(假设你有两个域名,并且都映射到这个服务器的IP上)
    • 要将novel.kitrst.cn映射到一个名为Novel的webapp
    • 要将blog.kitrst.cn映射到一个名为Blog的webapp。

看起来好像高大上了一点

对策

  • HTTP协议中包含访问的域名,也就是说,你可以对Tomcat说:
    * 将访问novel.kitrst.cn的请求踢到Novel去,将访问blog.kitrst.cn的请求踢到Blog去* **。
    然后就搞定了-_-
    怎么对Tomcat说呢? 小二, 再来两斤Host,上代码
<Host name="novel.kitrst.cn" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true">
        <Context path="" docBase="C:\apache7.0.72\webapps\Novel" debug="0" reloadable="false"/>
      </Host>

<Host name="blog.kitrst.cn" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true">
        <Context path="" docBase="C:\apache7.0.72\webapps\Blog" debug="0" reloadable="false"/>
      </Host>

总结

通过主机名可以实现多域名映射(让你的webapp看起来高大上一点)
当然,肯定还有其他用途的,具体请自行摸索

OK,收摊走人

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Tomcat虚拟目录是通过使用Tomcat服务器的Context容器来实现的。虚拟目录允许将外部资源映射Tomcat服务器上,使其可以通过HTTP协议访问。下面是一种配置虚拟目录的方法: 1. 在Tomcat的conf目录下的文件server.xml,找到<Host>标签,即配置虚拟主机的部分。在该标签,可以添加<Context>元素来配置虚拟目录。例如,假设要将虚拟目录映射到名为“/myapp”的外部目录,可以在<Host>标签内添加如下的<Context>元素: ```xml <Context path="/myapp" docBase="/path/to/external/directory" /> ``` 其,`path`属性指定了虚拟目录的URL路径,`docBase`属性指定了外部目录的绝对路径。 2. 保存并重新启动Tomcat服务器。此时,Tomcat会自动将指定的外部目录映射虚拟目录,使其可通过HTTP访问。 使用此方式映射虚拟目录的好处是,无需重启Tomcat服务器即可在配置文件进行修改。例如,将`/myapp`修改为`/newapp`,Tomcat服务器会自动卸载旧的配置并加载新的配置文件。 需要注意的是,虚拟目录的配置可以在Tomcat的全局配置文件(如server.xml进行,也可以在每个Web应用程序的上下文配置文件(如META-INF/context.xml进行。具体选择哪个配置位置取决于你的需求和环境。 综上所述,Tomcat虚拟目录可以通过在Tomcat的配置文件添加<Context>元素来实现,从而将外部资源映射为可通过HTTP访问的虚拟目录
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值