apache - 你如何在 Apache Tomcat 中创建 "Aliases"?

标签 apache tomcat aliases context.xml

我正在开发一个允许用户上传附件的网络应用程序。这些附件存储在与 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\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 服务器的别名非常接近。

关于apache - 你如何在 Apache Tomcat 中创建 "Aliases"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/350901/

相关文章:

java - 系统如何显示tomcat内存?

java - Tomcat 7 -> Jersey java.lang.NoClassDefFoundError : com/google/common/base/Splitter

ubuntu - 如何正确使用Tomcat 7新别名?

c++ - 如何缩短命令行命令?

Apache 安装; libpcre 错误

apache - 如何让 Apache 在将 PHP 文件传递​​给 PHP-FPM 之前检查它是否存在?

spring - Tomcat 9 Spring MVC 应用程序 JS 文件使用 header text/html 而不是 application/javascript 下载

c++ - 从 IP 获取主机名别名

带有 AuthzUnixGroup 的 git-http-backend 无法正常工作

使用 php5apache2_4.dll 时 php_intl.dll 不工作