本文共 780 字,大约阅读时间需要 2 分钟。
就拿tomcat自带项目examples做例子:
// "/" 相对于E:\app\apache-tomcat-8.5.31\webapps\examples session.getServletContext().getResourceAsStream("/"); // 相对于E:\app\apache-tomcat-8.5.31\webapps\examples\WEB-INF\classes this.getClass().getResourceAsStream("/"); // 同:this.getClass().getResourceAsStream("/");,但是不用写“/” this.getClass().getClassLoader().getResourceAsStream("");
从测试过的代码可以看出
1. session.getServletContext().getResourceAsStream("/"); 相当于编译后的当前项目目录下,"/"代表当前项目根目录;
2. this.getClass().getResourceAsStream("/"); 相当于当前项目下WEB-INF\classes,"/"代表classes目录(编译后的src目录);
3. this.getClass().getClassLoader().getResourceAsStream(""); 和this.getClass().getResourceAsStream("/");一样的目录开始,区别是不用写"/",其实getClass().getResourceAsStream("/")源码里就调用了getClassLoader()方法,这样写不用加正斜杆。
转载地址:http://merwb.baihongyu.com/