猿问

如何配置Tomcat从Webapps外部的外部文件夹提供图像?

如何使用Tomcat从Web应用程序外部的公共文件夹中提供图像文件?我不想在其他端口上使用第二个Apache文件服务器,因为图像文件是同一应用程序的一部分。而且我不想在webapps中创建指向公共文件夹的符号链接,因为我的应用程序被部署为war文件。...是否有更简单的解决方案,类似于对webapps中的静态内容使用默认servlet,对于webapps之外的静态内容使用默认servlet



POPMUISE
浏览 618回答 4
4回答

慕尼黑8549860

这是我做的方式,对我来说效果很好。(在Tomcat 7.x上完成)<context>在tomcat/conf/server.xml文件中添加一个。Windows示例:<Context docBase="c:\Documents and Settings\The User\images" path="/project/images" />Linux示例:<Context docBase="/var/project/images" path="/project/images" />这样(在上下文中):<Server port="8025" shutdown="SHUTDOWN">&nbsp;...&nbsp; <Service name="Catalina">&nbsp; &nbsp; ...&nbsp; &nbsp; <Engine defaultHost="localhost" name="Catalina">&nbsp; &nbsp; &nbsp;...&nbsp; &nbsp; &nbsp;<Host appBase="webapps"&nbsp; &nbsp; &nbsp; autoDeploy="false" name="localhost" unpackWARs="true"&nbsp; &nbsp; &nbsp; xmlNamespaceAware="false" xmlValidation="false">&nbsp; &nbsp; &nbsp; ...&nbsp; &nbsp; &nbsp; <!--MAGIC LINE GOES HERE-->&nbsp; &nbsp; &nbsp; &nbsp;<Context&nbsp; docBase="/var/project/images" path="/project/images" />&nbsp; &nbsp; &nbsp; </Host>&nbsp; &nbsp; </Engine>&nbsp; </Service></Server>这样,您应该可以在以下位置找到文件(例如/var/project/images/NameOfImage.jpg):http://localhost:8080/project/images/NameOfImage.jpg&nbsp;

慕勒3428872

在Tomcat 7中,可以使用“别名”属性。从文档:此属性提供了一个外部位置列表,从该外部位置可以加载此上下文的资源。别名列表的格式应为“ / aliasPath1 = docBase1,/ aliasPath2 = docBase2”,其中aliasPathN必须包含前导“ /”,而docBaseN必须是.war文件或目录的绝对路径。将在第一个docBaseN中搜索资源,对于该资源,aliasPathN是该资源的引导路径段。如果没有这样的别名,则将以常规方式搜索资源。如果未部署上下文,则不会清空这些外部位置。
随时随地看视频慕课网APP

相关分类

Java
我要回答