请问如何使用语句获取 WebRoot 下的资源文件?

2019-01-15 15:13:34 +08:00
 cirton

现在使用语句 类名.class.getClassLoader().getResourceAsStream(target_file); 读取 target_file 文件内容;

但上面语句默认获取的路径是 D:/workspace/java_17/mywebApp/target/classes/,只能读取该目录下的文件;

而目标文件路径如下 D:/workspace/java_17/mywebApp/WebRoot/target_file, 如果要读取该目录下的文件,该如何操作?

1650 次点击
所在节点    Java
5 条回复
w4ngzhen
2019-01-15 20:39:25 +08:00
webroot 这个目录的东西没有编译到 target/classes/下么?
cirton
2019-01-16 09:14:57 +08:00
@w4ngzhen 没有,target/classes/下只有 java 代码的 class 文件,webroot 下的 html,jsp 文件都没有编译到该目录下.
fatcheung
2019-01-16 09:27:09 +08:00
获取根路径
spring:
path = request.getSession().getServletContext().getRealPath("/");
war 包:
path = class.getClassLoader().getResource("/").getPath();
path = path.substring(0, path.indexOf("WEB-INF"));
w4ngzhen
2019-01-16 13:15:02 +08:00
@cirton 按照正常来说,如果你这些是 web 项目的资源文件,应该在完成项目编译后输出到 classes 下面的啊。
choice4
2019-01-16 15:11:25 +08:00
Classes 往上走一层(.. 或者 getparent?)就有吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/527247

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX