日韩精品欧美激情国产一区_中文无码精品一区二区三区在线_岛国毛片AV在线无码不卡_亞洲歐美日韓精品在線_使劲操好爽好粗视频在线播放_日韩一区欧美二区_八戒八戒网影院在线观看神马_亚洲怡红院在线色网_av无码不卡亚洲电影_国产麻豆媒体MDX

各種path獲取到的路徑的區(qū)別

時(shí)間:2020-02-19 21:28:45 類型:JAVA
字號(hào):    

  各種path獲取到的路徑的區(qū)別

  Main.class.getResource(""); 得到的是當(dāng)前class所在的路徑

  Main.class.getResourceAsStream(""); 是從當(dāng)前路徑查找資源資源

  Main.class.getClassLoader.getResource("");得到的是當(dāng)前類classloader加載類的起始位置

  Main.class.getClassLoader.getResourceAsStream("");從classpath的起始位置查找資源

  但是

  Main.class.getResource("/"); 表示從classpath目錄下找

  也就是說(shuō) Main.class.getResource("/"); 等價(jià)于 Main.class.getClassLoader.getResource("");

  但是 Main.class.getClassLoader.getResourceAsStream("/"); 返回的是null

  關(guān)于Servlet 資源路徑

  ServletContext.getRealPath("/") 返回的是 war 包展開后的從系統(tǒng)根目錄到war展開地址的根路徑,比如windows 就是 file:///d/path/to/war/

  也就是上面做了兩個(gè)動(dòng)作, 先從 war 根目錄找到資源, 然后返回資源完整路徑

  同樣的 ServletContext.getResource("/") 返回的的是從war 根目錄查找到的資源,只不過(guò)返回的是 URL ServletContext.getResourceAsStream("/") 返回的是和上面一樣的 InputStream

  但是 ServletContext.getResource("") 返回的是相對(duì)于URL的路徑,相當(dāng)于從當(dāng)前URL根路徑查找資源 ServletContext.getResourceAsStream("") 和上面一樣,只不過(guò)返回InputStream

  關(guān)于maven工程下springmvc資源路徑配置

  Java 源代碼文件資源在Maven工程中的默認(rèn)路徑是: src/main/java,這個(gè)路徑就是放置你的Java源代碼文件。默認(rèn)的路徑是無(wú)需在Maven的pom.xml配置文件中指定的

  資源文件的缺省路徑為src/main/resources,這樣Maven在打包成war文件的時(shí)候,會(huì)將src/main/resources的資源文件復(fù)制到class目錄。

  因此對(duì)于Spring mvc項(xiàng)目,servlet的配置文件springmvc-context.xml缺省會(huì)放置在 src/main/resources/springmvc-context.xml。

  對(duì)應(yīng)的的web.xml指定的classpath:springmvc-context.xml中,servlet的配置文件springmvc-context.xml 需要從 class目錄下查找。


<