java – Spring MVC在没有请求的情况下在WEB-INF下获取文件

我试图抓住/WEB-INF/…/下的文件(或目录)

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

我可以找到的所有解决方案都想要使用ClassPathXmlApplicationContext的XML文件或者获取servlet上下文或使用当前执行类的请求。似乎对我来说很丑

如何获取文件(“/ WEB-INF / myDir /”)。必须有办法,不行!

最佳答案
只要您的bean在Web应用程序上下文中声明,您可以获取ServletContext的实例(使用ServletContextAware或通过自动装配)。

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

momo编辑:

@Autowired
ServletContext servletContext;

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

转载注明原文:java – Spring MVC在没有请求的情况下在WEB-INF下获取文件 - 代码日志