从 ServletContextListener 访问位于 WAR 文件根目录中的文件



我有一个.war文件。我需要访问位于ROOT_OF_WAR/someFolder/myfile.txt内部的文件

如何使用ServletContextListener访问它?

ContextClassLoader#getResourceAsStream(resourceName)是否指向网络应用程序的根(即.war文件的根)?

或者我需要使用 ServletContextEvent#getServletContext().getResourceAsStream("someFolder/myfile.txt"); 访问它?

ServletContext context = servletContextEvent.getServletContext();    
File file = new File(context.getRealPath("/someFolder/myFile.txt"));

这就是你所需要的。看这里。