私の動的Webプロジェクトは以下の構造を持っています。リモートサーバー上のjspファイルからファイルデータを読み取ることができません
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;
ファイルを開いた後、コードは、コンテンツを表示します。
ローカルホストで動作していますが、オンラインでアップロードすると、jspページのテキストファイルのコンテンツが表示されません。
なぜ動作しないのか分かりません。ファイルパスはFileNotFoundExceptionをスローしていたので問題になるかもしれませんが、いくつかの変更を加えて修正しました。今はコンテンツを表示していません。誰かが助けてくれますか?私は.warファイル用のオープンシフト展開プラットフォームを提供しています。
サーバーにデプロイされたファイルを読むためにファイルパスを使用することはお勧めできません。異なるマシンは異なるファイルシステムを使用し、一部のアプリケーションサーバーは展開されたコンテンツを圧縮します。 getClass()。getResource( "/ resources/file.txt")をうまく使ってみませんか? –
私はすでに試しましたが、このエラーを出しています:org.apache.jasper.JasperException:JSPのクラスをコンパイルできません。 – Swap
コードが間違っているか、一部のインポートを忘れたようです。あなたが<%@ page import = "java.io。*"%>をインクルードするようなストリームチェックとしてファイルを読んでいるなら、とにかくこのロジックをjspに入れたいのですか? jspでJavaコードを書くことは時代遅れです。物事を作る簡単な方法があります。 –