首页 > 代码库 > Tomcat下配置虚拟路径管理web项目

Tomcat下配置虚拟路径管理web项目

关于虚拟路径。在学习javaweb的培训课程,今天老师给出了这样一个场景。
当我们的项目,在有一个项目不同的目录的时候,我们如何去使用tomcat去管理web项目。
老师提出的解决方案是 利用虚拟路径的方式,并且按照如下方式对tomcat进行配置。使得
tomcat可以管理不同目录上的项目。

我的问题:项目不是转换成war包发布到tomcat上吗,然后放在了webapps目录下面吗?
或者直接把项目放置webapps下面。
1.为什么有可能出现 管理不同目录下的web项目呢?
2.上面两种方式,处理web项目的发布都可以tomcat服务器的网站可以访问。那么上面两种
方式有什么区别?
 
那么我最终的我理解是,Tomcat毕竟是服务器web项目管理软件,那么有可能会出现,服务器的某个
盘符容量不够的情形。
那么通过虚拟路径的方式来管理不同盘符下的web想目便有了它的意义。
贴上配置方式:
虚拟路径 : 将其他位置的web添加到tomcat中进行管理
 * 浏览器访问: http://localhost:8080/web3/1.html
 * 方式1:需要给tomcat进行配置
  * 位置:%tomcat%/conf/server.xml
  * 结构(内容)
   <Server port="8005" shutdown="SHUTDOWN">  #表示服务配置,相当于酒店
    <Service name="Catalina">     #具体服务,比如:吃饭
     <Connector port="8080" protocol="HTTP/1.1"/> #连接,比如:服务器员
     <Connector port="8009" protocol="AJP/1.3"/>
     <Engine name="Catalina" defaultHost="localhost">#引擎:后厨
      <Host name="localhost"  appBase="webapps"> #主机:梁师傅
       ### Host的名称必须唯一
      </Host>
      <Host name="www.itheima.com"  appBase="webapps"> #主机:康师傅
      </Host>
     </Engine>
    </Service>
   </Server>
  * 配置内容
   在<Host>标签内部配置如下code:
    <Context path="web3" docBase="F:/web"/>
 #####所以此处类似于添加了一种映射关系,让tomcat server可以通过path值来访问docbase的实际位置下的项目

重启tomcat之后可以在tomcat的服务页面的manager中看到,项目已经部署
 
既然在上面的截图上面都已经显示了,那么直接在url里面去敲地址也是ok的啦
* 方式2:
  * 添加一个配置文件(xml文件),位置:%tomcat%/conf/引擎名称/主机名称/
   * Context path就是xml文件的文件名,例如:web4.xml
   * 内容:<Context  docBase="F:/web"/>
  * 访问:http://localhost:8080/web4/1.html
  * tomcat默认值:
   <Engine name="Catalina"> 引擎名称
   <Host name="localhost"/> 主机名称
实际上就是在这个目录下配置:E:\DevelopSoftware\apache-tomcat-7.0.42\conf\Catalina\localhost
映射关系就成了:文件名(相当于第一种配置下的path)<->dacBase之间的映射。
 
上面的方法上解决了将一个不同目录下的web项目添加到了tomcat下进行管理,那么如果是多个项目呢?
 
   <Host name="localhost"  appBase="webapps"> 这部分代码是在server.xml中默认配置的代码,很显然
我们可以看出,访问web项目的时候,url是这样的:
http://localhost:8080/  就可以访问到webapps下面的所有项目。
那么引出虚拟主机的方式。和上面的默认主机的方式类似 如下:
<Host name="主机名称"  appBase="F:\mywebapps"> #主机:梁师傅
 </Host>