Tomcat 设置虚拟路径映射访问外部资源

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_29490643/article/details/80294321

Tomcat 设置虚拟路径映射

最近在项目中遇到一个问题,需要通过Tomcat来访问外部路径下的图片,通过查阅资料,发现可以通过配置虚拟路径映射来解决。


方法1

打开Tomcat安装路径下conf文件夹下的server.xml文件,找到Host标签,在里面追加一个Context标签,如下:

<Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">	
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
			   
    <Context path="/" docBase="F:\111" reloadable="true" debug="0" reloadable="true" crossContext="true"/>
</Host>

说明:

  • path: 指定访问该 Web 应用的 URL 入口。
  • docBase:指定 Web 应用的文件路径。
  • reloadable:如果这个属性设为 true,tomcat 服务器在运行状态下会监视在WEB-INF/classes 和 WEB-INF/lib 目录下 class 文件的改动,如果监测到有 class 文件被更新的,服务器会自动重新加载 Web 应用。
  • crossContext:如果想在应用内调用 ServletContext.getContext()来返回在该虚拟主机上运行的其他 web application 的 request dispatcher,设为 true。在安全性很重要的环境中设为 false,使得 getContext()总是返回 null。缺省值为 false。
  • Debug:与这个 Engine 关联的 Logger 记录的调试信息的详细程度。数字越大,输出越详细。如果没有指定,缺省为 0。

进行上述修改,重启Tomcat,如果要访问F盘111目下的图片PIC_1.jpg,则在浏览器中输入如下地址:http://localhost:8080/PIC_1.jpg,便可以访问到该图片。
这里写图片描述

方法2

在Tomcat根目录下的/conf/Catalina/localhost/ 路径下新建一个filename.xml,并在该xml中编写语句

<Context docBase="F:\111\PIC_1.jpg"/>

即可创建虚拟站点,虚拟站点名为filename。docbase指向应用程序目录,各参数与方法1中的标签的参数类似。

如果需要分层虚拟站点,可以将文件名改成a#b#c,访问分层虚拟站点时用localhost:8080/a/b/c

方法3

在Tomcat根目录下的conf目录context.xml文件中插入

<Context path="/" docBase="F:\111" reloadable="true" debug="0" reloadable="true" crossContext="true"/>

这个虚拟路径修改方法会让所有的站点都能加载

方法4

在Tomcat根目录下的路径/conf/Catalina/localhost/context.xml.default ,在这里进行配置,这个虚拟路径修改方法会让该主机下的所有的站点都能加载,同上。

猜你喜欢

转载自blog.csdn.net/qq_29490643/article/details/80294321