私はHTMLページを記述したJSPを持っています。テーブル内の文書をクリックすると、その文書をデータベースからダウンロードする必要があります。すべてのローカル、クライアント/サーバーのアーキテクチャなし。私が使用している特定のアーキテクチャーには、JSPのみを使用できます。私はストリームを使ってファイルをビルドしますが、ダウンロードしたファイルには元のファイルの内容ではなくJSPが含まれています。どうすれば解決できますか? 注:Javascriptでhrefリンクを使用してファイルをダウンロードしようとしましたが、単純なJSPで動作させることは不可能でした。コード部分:HTMLレスポンスでファイルをダウンロード
` queryGetDoc+= "'"+submit+"'";
resultSet2 = statement2.executeQuery(queryGetDoc);
File file = new File(submit);
file.createNewFile();
if(resultSet2!=null){
FileOutputStream fos = new FileOutputStream(file);
resultSet2.first();
InputStream is = resultSet2.getBinaryStream(1);
byte[] buf = new byte[4096];
ByteArrayOutputStream bos = new ByteArrayOutputStream();
int read = 0;
while ((read = is.read(buf)) > 0) {
fos.write(buf, 0, read);
}
response.setHeader("Content-disposition","attachement; filename="+submit+suffix);
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");`
JSPファイルは、外部ソフトウェアによって呼び出されます。コンパイルされて実行されます。適切な応答でファイルをダウンロードするにはどうすればよいですか? –
@ LucianoSaccoブラウザがJSPを直接表示している場合は、そうでないと主張する必要があります。したがって、あなたのソリューションは、この外部ソフトウェアが適切に構成されているかどうかに依存します。残念ながら、それはこのソフトウェアに依存しており、私はあなたをさらに助けることはできません。 – Neil
申し訳ありませんもっと詳しく説明します。 JSPはコンパイルされ、単純にディスパッチされません。 –