servletcontext读取资源文件的路径问题
https://segmentfault.com/a/11...
文中读取db1234使用的是getServletContext().getResourceAsStream()
所配的路径是/WEB-INF/classes/xxx
我看了看黑马程序员上java-web关于这一部分的视频,视频中说是按照文件的真实路径配的(因为project下src下的.java文件都编译到了/WEB-INF/classes/目录下),然后我查了一下我自己装的tomcat6,实际上是编译到了/build/classes/这个目录下,然而当我把路径写成/build/classes/xxx的时候报错了。project下的classpath文件里也有如下语句:<classpathentry kind="output" path="build/classes"/>
那这个路径是应该怎样来写呢?
---------------------------update1---------------------------------
尝试了一下getRealPath()
输出如下:
D:\eclipse-java6-workspace\
.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\
test-servlet\
WEB-INF\classes\my\test\serlvetcontext\db.properties
不太理解,看起来好像是运行时才会存在的一个文件夹,类似于tmp文件夹?
---------------------------update2-----------------------------------
以下是针对视频里的内容的补充:
我重写了classloader里的findloadedclass,发现视频里讲得对。
回答:
进入tomcat的配置页,就会看到tomcat部署的默认路径
这就是打印出来的路径,选其他选项来修改路径。
以上是 servletcontext读取资源文件的路径问题 的全部内容, 来源链接: utcz.com/p/174006.html