在学习servlet中
所遇到的报错信息
最终确定问题在于程序找不到配置文件
最开始我以为只要光标附在配置文件并按 Ctrl键 能点进去就以为着成功
但!!!!当我把这个问题解决后发现 还是会报图1的错误!!!!!!
Ctrl后能点进去 是因为我把配置文件 从 src目录下移动到了resource目录下
在查找问题时,看到了这句话,分享给大家
为什么是classpath而不是src,因为当web项目运行时,IDE编译器会把src下的一些资源文件移至WEB-INF/classes,classPath目录其实就是这个classes目录。这个目录下放的一般是web项目运行时的class文件、资源文件(xml,properties...);
最终的解决办法,添加 getClassLoader()
至于原因,我也查了很多的博客,目前我的理解是:
若只是 .class.getResourceAsStream()
只是在src中寻找,但配置文件放在src中是不起作用的,需要放在resource中
而.class.getClassLoader().getResourceAsStream()
是通过classpath中寻找的
理解的依据也就是我刚才圈出来的那句话
为什么是classpath而不是src,因为当web项目运行时,IDE编译器会把src下的一些资源文件移至WEB-INF/classes,classPath目录其实就是这个classes目录。这个目录下放的一般是web项目运行时的class文件、资源文件(xml,properties...);
若有表达不对的地方,望诸位能够提下你的看法,我感恩不尽!