尝试将我们的应用程序从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错误。
任何的想法?
谢谢。
我找到了解决方案。问题出在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>