我需要映射包含位于tomcat webapps文件夹之外的图像的目录,以便应用程序可以为这些图像提供服务.
我正在使用tomcat 6运行J2EE Web应用程序.用户可以在应用程序中上传/删除图像.Currenly我将这些图像存储在应用程序的WebContent文件夹下的目录中,但是我想把它放在tomcat之外(例如C:/ test/images).
我需要知道如何配置tomcat,这样如果我访问URL http://.com/images/abc.jpg,它将提供目录C:/ test/images中的图像
谢谢,
Mau*_*rry 34
在server.xml中的<Host>标记内添加<Context>标记:
<Context path="/images" docBase="C:/test/images/" />
Run Code Online (Sandbox Code Playgroud)
可以访问文档 http://localhost:8080/images
小智 5
我有同样的问题,但找到了解决方案.
如果您正在使用Eclipse和Tomcat插件,请注意Eclipse Tomcat插件CATALINA_BASE在Eclipse workspace目录下创建一个单独的插件.
你可以去这个地方,你会发现server.xml.使用它 server.xml,它会工作.
我的实际tomcat目录是:
C:\apache-tomcat-7.0.62x64\apache-tomcat-7.0.62\conf
Run Code Online (Sandbox Code Playgroud)
我的Eclipse Tomcat服务器使用:
C:\workspace\JSF\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf
Run Code Online (Sandbox Code Playgroud)
使用工作空间路径并server.xml从此位置.
将其添加server.xml到主机标记内:
< Context docBase="D:/personal" path="/images" />
Run Code Online (Sandbox Code Playgroud)
并且如果D:/personal有1.png,它将工作,然后url http://localhost:8080/images/1.png将加载图像.
小智 5
在 Tomcat8 中,您还可以将 PotsResources 添加到 META-INF/context.xml 中,如下所示:
<Context>
<Resources allowLinking="false">
<PostResources readOnly="false"
className="org.apache.catalina.webresources.DirResourceSet"
base="path-to-your-local-folder"
webAppMount="/images"/>
</Resources>
...
</Context>
Run Code Online (Sandbox Code Playgroud)