在 Java Web 開發中,正確載入配置檔(如 a.txt)需掌握三種核心 API 的路徑語意差異:
request.getSession().getServletContext().getResourceAsStream("/WEB-INF/classes/a.txt");
/ 代表 Web 應用根路徑(即部署後的 context root)/WEB-INF/ 等受保護目錄下的資源getClass().getClassLoader().getResourceAsStream("/a.txt");
/ 有無皆同,皆相對於 Classpath 根路徑(編譯後的 /WEB-INF/classes/)/WEB-INF/ 以外的資源(如 /WEB-INF/lib/ 中的 jar 內資源需另行處理)getClass().getResourceAsStream("/a.txt");
/:相對於 Classpath 根路徑/:相對於 當前類別檔所在套件目錄/WEB-INF/classes/ 目錄