簡體   English   中英

無法從遠程服務器上的jsp文件讀取文件數據

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM