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,发现视频里讲得对。

阅读 4.1k
1 个回答

进入tomcat的配置页,就会看到tomcat部署的默认路径图片描述

这就是打印出来的路径,选其他选项来修改路径。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏