[英]Cannot read file data from jsp file on remote server
我的動態Web項目具有以下結構。
WebContent / WEB-INF / jsps / index.jsp。 我正在嘗試從我的jsp文件訪問file.txt並顯示該文件中的內容。 file.txt在WebContent / resources文件夾中。
我正在使用,
String jspPath = session.getServletContext().getRealPath("/resources"); jspPath = jspPath.replace("\\\\", "/"); String fileName = "/file.txt"; String txtFilePath = jspPath + fileName;
打開文件后,編碼以顯示內容。
它可以在localhost上運行,但是當我在線上傳它時,它不在jsp頁面上顯示文本文件中的內容。
我不明白為什么它不起作用,我認為文件路徑可能是一個問題,因為它引發了FileNotFoundException,但我通過進行少量更改來解決了該問題。 現在它不顯示內容。 有人可以幫忙嗎? 我正在使用.war文件的openshift部署平台。
實際上,上面的JSP頁面將永遠不會執行,因為它位於最終用戶無法訪問的WEB-INF
文件夾中,因此請確保將JSP放在WEB-INF之外。
要讀取文件,您可以以更簡單的方式加載和打印文件:
<%@page import="java.io.*"%>
<%
InputStream in=config.getServletContext().getResourceAsStream("/resources/hello.txt");
int ch;
while((ch=in.read())!=-1){
out.print((char)ch);
}
in.close();
%>
由於上述調用getRealPath
方法不適用於使用虛擬文件系統(如JBoss)的應用程序服務器。
注意:為了獲得更好的性能,您可以使用其他方法讀取文件以包含(例如,緩沖和緩存),但這不在此問題的范圍內。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.