Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
505 views
in Technique[技术] by (71.8m points)

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.pluginsorg.eclipse.wst.server.coremp0wtpwebapps
test-servlet
WEB-INFclassesmyestserlvetcontextdb.properties
不太理解,看起来好像是运行时才会存在的一个文件夹,类似于tmp文件夹?
---------------------------update2-----------------------------------
以下是针对视频里的内容的补充:
我重写了classloader里的findloadedclass,发现视频里讲得对。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...