Naf*_*Kay 2 java tomcat classloader
我的webapp中有这样的文件结构:
webapp/
??? META-INF
??? WEB-INF
??? reports
? ??? info.txt
??? web.xml
3 directories, 2 files
Run Code Online (Sandbox Code Playgroud)
我需要/WEB-INF/reports/info.txt从这样的课程中获得:
this.getClass().getResource("/WEB-INF/reports/info.txt");
Run Code Online (Sandbox Code Playgroud)
这会解决吗?我将测试它,但我不确定Tomcat的类加载器如何解决问题.如果这不起作用,我该如何获取文件?
不,它不会解决. Class.getResource从类路径加载资源,webapp的根目录本身不在类路径上.
为了获得该资源,您需要掌握,ServletContext然后可以调用ServletContext.getResource("/WEB-INF/reports/info.txt").这应该工作.
您可以获得ServletContext使用Servlet.getServletConfig().getServletContext().
您还可以将reports目录下的/WEB-INF/classes目录(这是在classpath).然后,您可以使用您的文件
getClass().getResource("reports/info.txt");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13059 次 |
| 最近记录: |