[英]Can't read properties file in JSP
以下JUnit測試正在我的應用程序中工作:
@Test
public void testMessageResources(){
final InputStream stream = getClass().
getResourceAsStream("/com/service/MessageResources.properties");
Assert.assertNotNull(stream);
}
但是在我的JSP中,我無法使用以下代碼讀取文件:
<%
final InputStream resourceAsStream = application.
getResourceAsStream("/com/service/MessageResources.properties");
%>
resourceAsStream
始終為null
。 我正在使用JSP 2.1。
MessageResources.properties
文件位於類路徑中,但不在 JSP目錄中。 那是問題嗎?
JSP使用ServletContext.getResourceAsStream() ,它與Class.getResourceAsStream()
。 它不搜索類路徑中的資源。 如果要使用Class.getResourceAsStream()
,則使用Class.getResourceAsStream()
。 它也適用於Java EE環境。 只需確保使用從您要用於加載屬性文件的類加載器中加載的類。
但是,這樣的方法調用不應該在JSP中完成,而應該在Servlet或JSP中執行。 應該使用JSP來生成標記。
getClass()。getResourceAsStream()搜索類路徑中的文件,而application.getResourceAsStream直接在Web應用程序中查找資源。 所以目錄'com'應該在你的web應用程序內,而不是在類路徑中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.