gpt4 book ai didi

java - 从 Web 应用程序访问静态文件(webapp/static/for inst.)

转载 作者:行者123 更新时间:2023-12-04 05:55:44 27 4
gpt4 key购买 nike

我有一个具有以下结构的 Web 应用程序:

src
+ main
+-+ java
+ resources
+ webapp
+-+ WEB-INF
+ static

静态目录是服务器 org.apache.catalina.servlets.DefaultServlet ,否则由应用程序提供服务。我想要实现的是从应用程序访问静态目录。但是,一旦它部署在服务器上,该目录似乎“丢失”了 - 我无法在相对路径(通过 new File() )和类路径(通过新的 ClassPathResource() )中访问它。我可以看到,该目录在 target 中丢失了。 dir,这可能是正确的,但我不知道我能做些什么。

谢谢。

编辑
  • 可能不清楚,但是目录static是 WEB-INF 的兄弟,而不是它的 child 。
  • 静态目录可能包含 2 GB 的图像。所以不希望每次部署应用程序时都复制这个目录(所以把它放在类路径中可能不是一个好主意)。
  • 我只是找不到允许访问此目录的 DefaultServlet 的行为。它会复制其他地方的所有东西吗?或者它是否通过绝对路径访问它?
  • 最佳答案

    我很确定 WEB-INF 对类路径不可见,您必须将它放在 webapp 文件夹中。更好的是,您可能想考虑使用 mvc:resources 标签。

    http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/mvc.html

    搜索 mvc:resources 以获得解释。

    编辑

    如果您将资源放在 src/main/resources 中,它们应该可用于 ClassPathResource

    关于java - 从 Web 应用程序访问静态文件(webapp/static/for inst.),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9539924/

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