一尘不染

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

tomcat

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


阅读 380

收藏
2020-06-16

共1个答案

一尘不染

您可以有一个重定向servlet。在您的web.xml中,您将拥有:

<servlet>
    <servlet-name>images</servlet-name>
    <servlet-class>com.example.images.ImageServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>images</servlet-name>
    <url-pattern>/images/*</url-pattern>
</servlet-mapping>

您所有的图像都将位于“ /
images”中,而servlet会截获该图像。然后,它将读入任何文件夹中的相关文件,并将其重新提供。例如,假设您在图像文件夹c:\
Server_Images \ smilie.gif中有一个gif。在网页中将是<imgsrc="http:/example.com/app/images/smilie.gif"...。在servlet中,
HttpServletRequest.getPathInfo()将产生“
/smilie.gif”。servlet将在文件夹中找到哪个。

2020-06-16