当前位置: 首页 > 面试题库 >

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

欧渝
2023-03-14
问题内容

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


问题答案:

您可以有一个重定向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将在文件夹中找到哪个。




 类似资料:
  • 我正在通过Intellij IDEA Tomcat集成测试Web应用程序(Apache Wicket Based)。在那里,我注意到web应用程序认为它在tomcat的bin文件夹中运行。另外,当我调用时,它返回。但是当我在tomcat中手动部署相同的web应用程序时,它工作正常。如何在Intellij IDEA中解决这个问题?

  • 问题内容: 我当然缺少有关喷油器的一些基本知识,但是我无法理解为什么 还有这个 按预期工作,而这 会抛出 错误:[$ injector:unpr]未知提供程序:$ provideProvider <-$ provide 如下所述,与提供者有一些特殊的关系,而与实例打交道时,我不确定使块如此特别的东西。 结果,是否没有办法到达外部块,例如,使用(尽管似乎也获得了提供者实例)? 除了好奇心外,这个问题

  • 问题内容: 我在Tomcat 7中配置Web应用程序时遇到问题。在我的WAR文件中,有一个属性文件,它包含特定于环境的属性。我试图在服务器上覆盖该配置文件,以便将同一WAR文件部署到多个环境。 我听说有一种方法可以使用中的替换配置文件来执行此操作。这是我很难弄清楚的方法。 另外,是同一台Tomcat服务器上运行的许多软件之一,它不能作为本地主机运行。我希望能够为多个Web应用程序解决此问题。 问题

  • 我希望外部文件的属性覆盖内部值(如果它们存在于外部文件中)。 在我的configuration类中,我使用PropertySource注释设置文件:

  • 问题内容: 我正在开发Java桌面应用程序,并且想要一个外部configuration.xml。 我正在使用Netbeans开发应用程序,并尝试将config.xml文件添加到dist目录中,以使其驻留在应用程序工作文件夹中。但是,当Netbeans执行其清理操作时,它将删除dist目录, 我应该在何处放置此configuration.xml文件,以便它不会被删除并存在于应用程序启动目录中。 问题

  • 主要内容:spring.config.location,示例 1,spring.config.additional-location,示例 2除了默认配置文件,Spring Boot 还可以加载一些位于项目外部的配置文件。我们可以通过如下 2 个参数,指定外部配置文件的路径: spring.config.location  spring.config.additional-location  spring.config.location 我们可以先将 Spring Boot 项目打包成 JAR