Tomcat虚拟路径映射

眉间皱痕 提交于 2019-12-06 19:29:46

将Web项目与文件分开存储,在请求的url中,通过tomcat将指定的虚拟路径指向真实的磁盘文件路径,此为虚拟目录映射。

在进行虚拟目录映射的时候,一般都会进行如下部署

 <Context path="/cmw/staticFile" docBase="H:\javaFile\cmw" debug="0" reloadbale="true"/>

Linux下docBase的路径表示方式

<Context path="/transhelper/staticFile" docBase="/mnt/static/transhelper" debug="0" reloadable="true"/>

解释

  • path是虚拟路径;
  • docBase 是应用程序的物理路径;
  • reloadable 如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,可以在不重起tomcat的情况下改变应用程序,实现 热部署

注意:
如果工程中有静态类或者预读取的配置文件改掉,那tomcat是必须要重启的,否则无法更新内存,一般的修改,eclipse是自动后台发布的,机理应该是基于文件发布时间的判定。

比如访问

 <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
			 <Context path="/cmw/staticFile" docBase="C:\files\cmw" debug="0" reloadable="true"/>

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t "%r" %s %b" />

      </Host>

当请求地址中包含path时,会将path内容替换为docBase的内容,此为虚拟目录的映射

注意:虚拟目录的映射必须是两级目录

修改虚拟路径后必须要重启

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!