一尘不染

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

tomcat

尝试将我们的应用程序从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上,我可以使用以下网址:

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

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

在tomcat 8上,我得到404错误。

任何的想法?

谢谢。


阅读 289

收藏
2020-06-16

共1个答案

一尘不染

我找到了解决方案。问题出在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>
2020-06-16