gpt4 book ai didi

java - 使用 SpringMVC 在 Tomcat 中包含静态内容的外部目录

转载 作者:行者123 更新时间:2023-11-28 21:55:17 25 4
gpt4 key购买 nike

我有一个应用程序应该将内容(用户头像)保存在某个目录中,例如 C:\avadir。在我的应用程序中,我使用的是 SpringMVC。我需要显示用户定义的头像。为此,我必须配置 Tomcat 以使用此外部目录。我的 ROOT.xml 中有这样的选项,位于 %CATALINA_HOME%\conf\Catalina\localhost:

<Context path="/ava" docBase="c:/avadir" debug="0" reloadable="true" crossContext="true" />

我的 servlet-context.xml 中的下一个设置:

<resources mapping="/ava/**" location="/ava/" />

完成此设置后,我仍然无法通过 url localhost:8080/ava/file.jpg< 访问我放置在 C:\avadir\file.jpg 中的文件/em>。有什么遗漏吗?

最佳答案

您可以在不修改 ROOT.xml 文件的情况下实现您想要的效果,这应该会使您的应用程序稍微更易于管理。

所以首先我将从 ROOT.xml 中删除上下文定义。

其次,我将修改您当前的 Spring MVC 配置,以将图像作为 Spring MVC 应用程序的一部分提供服务。使用您建议的路径,我会将您的 定义更新为:

<mvc:resources mapping="/ava/**" location="file:///C:/avadir"/>

这实质上是将您的 Spring MVC 实现配置为直接从文件系统提供资源,而不是依赖于您在 Tomcat 中配置的第二个上下文。

您还需要记住,Spring MVC 资源映射将与您的 Web 应用程序的上下文相关。例如:如果您的应用程序部署在 http://example.com:8080/myApp那么/ava 映射将在使用 URL http://example.com:8080/myApp/ava/file.jpeg 访问时实际匹配

关于java - 使用 SpringMVC 在 Tomcat 中包含静态内容的外部目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18362526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com