servlet 的 getServletContext().getResourceAsStream
情况如下:src
com.xx.servlet
Test.java
xxx.properties
现在我想在Test这个servlet中用getServletContext().getResourceAsStream("这里怎么写---xxx.properties")获取xxx.properties文件。
我想请问我这个参数怎么写?我写的就是xxx.properties
InputStream rs = getServletContext().getResourceAsStream("/");
if (rs == null) {
System.out.println("获取不到该文件。。。。。");
} else {
System.err.println("OK......");
}
我现在每次都是获取不到....
我在网上查看说该方法的相对路径就是classpath,
是我哪里写错了吗??? Servlet path getResourceAsStream 获取配置文件 --------------------编程问答-------------------- getServletContext().getResourceAsStream("xxx.xx")
这个getResourceAsStream默认的相对路径又是哪里??? --------------------编程问答--------------------
--------------------编程问答-------------------- 谢谢,我补充一句,ServletContext. getResourceAsStream(String path) 默认的相对路径是
/**
* 1. Class.getResourceAsStream(String path) :
* path 不以'/'开头时默认是从此类所在的包下取资源,以'/'开头则是从ClassPath(Src根目录)根下获取。
* 其只是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。
* 2. Class.getClassLoader.getResourceAsStream(String path) :
* 默认则是从ClassPath根下获取,path不能以'/'开头,最终是由ClassLoader获取资源。
*
* 3. ServletContext. getResourceAsStream(String path):
* 默认从WebAPP根目录下取资源,Tomcat下path是否以’/'开头无所谓,当然这和具体的容器实现有关。
*/
工程目录 下,如果文件在SRC下,那么我们可以这么写path : /WEB-INF/classes/xxx.file --------------------编程问答--------------------
如果是在SRC 下,可以用第一种方式,如果是在WEB环境下,用/WEB-INF/classes/xxx.file 应该是可以的,但只这个我没有试过。 --------------------编程问答-------------------- 首先会从部署的最上层的目录找,
找不到再从web-inf/lib目录下的jar中META-INF/resources目录中找。
servlet3.0的规范是这么说的,今天刚看到过。
补充:Java , Web 开发