我正在开发一个允许用户上传附件的网络应用程序。这些附件存储在与 Web 应用程序不同的驱动器上。如何为该驱动器创建一个别名(相当于 Apache HTTP 服务器的别名)以便用户可以下载这些附件?
目前我正在创建一个上下文文件并将其转储到 CATALINA_HOME/conf/Catalina/localhost 中,但它经常被随机删除。上下文文件名为 attachments.xml,内容如下所示。我也读过虚拟主机,但如果我理解正确,那么虚拟主机不是我要找的。我使用的是 Apache Tomcat 6.0.18 版。
附件.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase = "e:\uploads\attachments"
reloadable = "true"
crossContext = "true">
</Context>
最佳答案
我花了很多时间研究这个并找到了解决上下文文件随机删除的解决方案。我在主机配置部分的 Apache 网站上找到了这段摘录:
You can nest one or more Context elements inside this Host element, each representing a different web application associated with this virtual host.
虚拟主机存储在位于CATALINA_HOME\conf 的server.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 服务器的别名非常接近。
关于apache - 你如何在 Apache Tomcat 中创建 "Aliases"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/350901/