当前位置:编程学习 > JAVA >>

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默认的相对路径又是哪里??? --------------------编程问答--------------------

/**
   * 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是否以’/'开头无所谓,当然这和具体的容器实现有关。
   */
--------------------编程问答-------------------- 谢谢,我补充一句,ServletContext. getResourceAsStream(String path) 默认的相对路径是
工程目录  下,如果文件在SRC下,那么我们可以这么写path  :  /WEB-INF/classes/xxx.file --------------------编程问答--------------------
引用 3 楼 wanghantong 的回复:
谢谢,我补充一句,ServletContext. getResourceAsStream(String 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 开发
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,