一尘不染

您如何在Apache Tomcat中创建“别名”?

tomcat

我正在使用允许用户上传附件的Web应用程序。这些附件存储在与Web应用程序不同的驱动器上。如何为该驱动器创建一个别名(相当于Apache
HTTP服务器的别名),以便用户可以下载这些附件?

目前,我正在创建一个上下文文件并将其转储到CATALINA_HOME / conf / Catalina /
localhost中,但是它经常被随机删除。上下文文件名为attachments.xml,其内容如下所示。我还阅读了有关虚拟主机的信息,但是如果我理解正确,那么虚拟主机就不是我想要的。我正在使用Apache
Tomcat 6.0.18版本。

attachments.xml:

<?xml version="1.0" encoding="UTF-8"?>
<Context docBase    = "e:\uploads\attachments"
     reloadable = "true"
     crossContext   = "true">
</Context>

阅读 338

收藏
2020-06-16

共1个答案

一尘不染

我花了很多时间研究这个问题,并找到了解决上下文文件随机删除的解决方案。我在主机配置部分的Apache网站上找到了此摘录:

您可以在此Host元素内嵌套一个或多个Context元素,每个Context元素代表与此虚拟主机关联的不同Web应用程序。

虚拟主机存储在位于 CATALINA_HOME \ confserver.xml 文件中。Tomcat配置为 localhost
作为默认主机。因此,如果我们从第一篇文章中添加 attachments.xml 的内容,则会得到以下内容: __

<Host name="localhost"  appBase="webapps"
    unpackWARs="true" autoDeploy="true"
    xmlValidation="false" xmlNamespaceAware="false">

    <Context path="/attachments"
             docBase="e:\uploads\attachments"
             reloadable="true"
             crossContext="true" />
</Host>

我认为,这几乎可以定义类似于Apache HTTP服务器的别名。

2020-06-16