I am trying to get hold of a file ( or a directory ) under /WEB-INF/.../
outside of a request. I need it in a bean loaded at server startup.
All solutions I can find either wants an XML file using ClassPathXmlApplicationContext
or a request to get the servlet context or using the current executing class. Seems ugly to me.
How can I get a File("/WEB-INF/myDir/")
. There has to be a way, no!?
As long as your bean is declared in web application context you can obtain an instance of ServletContext
(using ServletContextAware
, or by autowiring).
Then you can access files in webapp directory either directly (getResourceAsStream()
, getRealPath()
), or using ServletContextResource
.
EDIT by momo:
@Autowired ServletContext servletContext; ... myMethod() { File rootDir = new File( servletContext.getRealPath("/WEB-INF/myDIR/") ); }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With