我正在尝试获取 /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/