欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-10 20:02:54
...

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,便可以访问到该图片。
Tomcat 设置虚拟路径映射访问外部资源

方法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 ,在这里进行配置,这个虚拟路径修改方法会让该主机下的所有的站点都能加载,同上。