tomcat - 迁移到 tomcat 8 别名后不再起作用

标签 tomcat migration alias

在尝试将我们的应用程序从 tomcat 7 迁移到 tomcat 8 后,我们发现别名无法像以前那样工作。

这是 context.xml 文件的内容:

<Context reloadable="true" 
      aliases="/d1=C://dir1,/d2=C://temp//dir2//,/d3=C://temp//dir3//" >
      <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow=".*" />
</Context>

在 tomcat 7 上我可以关闭这个 urls:

http://localhost:8080/myapp/d2/data.xml

http://localhost:8080/myapp/d3/data.png

在 tomcat 8 上我得到 404 错误。

有什么想法吗?

谢谢。

最佳答案

我找到了解决办法。 问题出在 context.xml 中。

要使别名在 tomcat 8 上工作,需要更改 context.xml:

<Context reloadable="true" >
    <Resources>
       <PreResources base="C://dir1" className="org.apache.catalina.webresources.DirResourceSet" webAppMount="/d1" />
       <PreResources base="C://temp//dir2//" className="org.apache.catalina.webresources.DirResourceSet" webAppMount="/d2" />
       <PreResources base="C://temp//dir3//" className="org.apache.catalina.webresources.DirResourceSet" webAppMount="/d3" />
   </Resources>
   <Valve className="org.apache.catalina.valves.RemoteAddrValve"  allow=".*" />
</Context>

关于tomcat - 迁移到 tomcat 8 别名后不再起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25909329/

相关文章:

c - 如何使 Tru64 Unix 中的 C 代码在 Linux 64 位中工作?

MySQL : Copy all databases from one server to another

java - 从 Tomcat 迁移到 WAS

mysql - DC2Type :array comment being added to field when doing a Doctrine migration diff

java - Tomcat 替换 VM 参数

mysql - 在 WHERE 子句中重用 Select 表达式的子查询

java - Gradle 依赖项 - 用一个模块替换另一个

python - `python manage.py shell`启动后执行脚本

tomcat - Apache Tomcat 无法在 Windows 7 中启动

tomcat - 如何在同一台服务器上运行多个 TeamCity 实例?