首頁 >Java >java教程 >如何透過ServletContext存取WAR/WEB-INF目錄下的資源?

如何透過ServletContext存取WAR/WEB-INF目錄下的資源?

Patricia Arquette
Patricia Arquette原創
2024-11-13 08:49:02733瀏覽

How to Access Resources in the WAR/WEB-INF Directory with ServletContext?

使用ServletContext 存取WAR/WEB-INF 目錄中的資源

簡介:

簡介:

簡介:

簡介:

簡介:

簡介:

ServletContext context = getContext();
String fullPath = context.getRealPath("/WEB-INF/test/foo.txt");

介紹Java Web 應用程式通常將重要資源儲存在WAR/WEB-INF 目錄中。要存取這些資源,開發人員可以利用 ServletContext API。

問題:

如何建立位於WAR/WEB-INF 中的資源的正確路徑資料夾,例如「/war/WEB-INF/test/foo. txt”?

ServletContext context = getContext();
URL resourceUrl = context.getResource("/WEB-INF/test/foo.txt"); // for URL
InputStream resourceContent = context.getResourceAsStream("/WEB-INF/test/foo.txt"); // for input stream

答案:

建構WAR/ 中的資源路徑主要有兩種方法使用ServletContext 的WEB-INF 目錄:
  • 1 . getRealPath() 方法:
  • 如果WAR 文件已擴展為一組文件,則可以使用getRealPath() 方法:
這將返回完整的資源的系統路徑。 2. getResource() 或getResourceAsStream() 方法:無論WAR 檔案是否展開,都可以使用這些方法: 附加說明:範例程式碼中提到的getContext() 方法是特定於應用程式。在 JSP 頁面中,它可用作“上下文”,而在 servlet 中,它是在初始化期間從 ServletConfig 獲取的。 如果 Servlet 容器不提取 WAR 文件,則 getRealPath() 方法可能不起作用。 getResource() 和 getResourceAsStream() 方法可靠且適用於所有部署情境。

以上是如何透過ServletContext存取WAR/WEB-INF目錄下的資源?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn