Spring MVC 无需请求即可获取WEB-INF下的文件

标签 spring spring-mvc

我正在尝试获取 /WEB-INF/.../ 下的文件(或目录)

请求之外。我需要它在服务器启动时加载的 bean 中。

我能找到的所有解决方案要么需要使用 ClassPathXmlApplicationContext 的 XML 文件,要么需要获取 servlet 上下文的请求或使用当前执行的类。我觉得很难看。

如何获取文件(“/WEB-INF/myDir/”)。一定有办法,不是吗!?

最佳答案

只要您的 bean 在 Web 应用程序上下文中声明,您就可以获得 ServletContext 的实例(使用 ServletContextAware 或通过 Autowiring )。

然后您可以直接(getResourceAsStream()getRealPath())或使用ServletContextResource访问webapp目录中的文件。

momo 编辑:

@Autowired
ServletContext servletContext;

... myMethod() { 
     File rootDir = new File( servletContext.getRealPath("/WEB-INF/myDIR/") );
}

关于Spring MVC 无需请求即可获取WEB-INF下的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56845704/

相关文章:

java - 如何像使用 HttpServletRequest 一样从 Spring MVC 中的 org.springframework.web.context.request.WebRequest 获取 requestUrl?

java - 如何为我的所有 Spring MVC Controller 全局设置 BindingErrorProcessor?

spring-boot - StreamingResponseBodyReturnValueHandler 不使用 applicationTaskExecutor

java - 如何在 Spring MVC 中定义基于 url 扩展的消息转换器?

spring - 从多个服务器使用 RESTful 服务时可以使用相同的 RestTemplate 实例吗

java - Spring MVC 表单支持对象树初始化的最佳实践

java - 使用 Java 调试 Mule 子流

java - 基础 Controller SpringMVC

java - 我们必须在 WebFlux 中编写响应式代码吗?

未找到 Java Spring JS-CSS