zoukankan      html  css  js  c++  java
  • Java中的Classpath

      classpath实际上就是编译后的,以classes文件夹为起点的路径
    各种path获取到的路径的区别

    Demo.class.getResource("");//得到的是Demo类class文件所在的路径
    Demo.class.getResourceAsStream("");//是从Demo类的class文件路径查找获取流资源
    Demo.class.getClassLoader.getResource("");//得到的是Demo类的classloader加载类的起始位置,也就是classpath
    Demo.class.getClassLoader.getResourceAsStream("");// 从classpath的起始位置查找资源

      但是

    Main.class.getResource("/");// 表示从classpath目录下找

      也就是说 Main.class.getResource("/"); 等价于 Main.class.getClassLoader.getResource("");但是 Main.class.getClassLoader.getResourceAsStream("/"); 返回的是null
    关于Servlet 资源路径
      ServletContext.getRealPath("/") 返回的是 war 包展开后的从系统根目录到war展开地址的根路径,比如windows 就是 file:///d/path/to/war/。也就是上面做了两个动作, 先从 war 根目录找到资源, 然后返回资源完整路径。

      同样的 ServletContext.getResource("/") 返回的的是从war 根目录查找到的资源,只不过返回的是 URL 。

      ServletContext.getResourceAsStream("/") 返回的是和上面一样的 InputStream,但是 ServletContext.getResource("") 返回的是相对于URL的路径,相当于从当前URL根路径查找资源 ServletContext.getResourceAsStream("") 和上面一样,只不过返回InputStream。
      http://localhost:8080/webbasic/simple ServletContext.getResource("") 返回的是 jndi:/localhost/webbasic/

  • 相关阅读:
    win7系统激活最简单方法
    如何删除计算机多系统中不需要了的系统?
    SQL SERVER 中 GO 的用法2
    SQL SERVER 中 GO 的用法
    SQL SERVER中架构的理解
    linux诡异的半连接(SYN_RECV)队列长度
    skbtrace
    IO之流程与buffer 图
    MYSQL 缓存详解 [myownstars] 经典博客
    TCP 函数
  • 原文地址:https://www.cnblogs.com/wxgblogs/p/6573639.html
Copyright © 2011-2022 走看看