WebAppプロジェクトの構造は次のとおりです。
download.htmlファイルの内容は次のとおりです。
<!doctype html> <html> <head> <meta charset = "utf-8"> <title>ここに挿入</title> </head> </head> <body> <h1>リソースダウンロード:</h1> <p>単にAタグを使用する場合、ブロウザーが禁止できないファイルのみがダウンロードされます。 </p> <a href = "/web/resource/a.mp3" rel = "external nofollow"> a.mp3 </a> <br> <a href = "/a.exe" rel = "reaster nofollow"> a.exe </a> <br> <br> <br> <a href = "/web/a.txt" rel = "rel =" relow "> a.txt href = "/web/resource/a.xlsx" rel = "external nofollow"> a.xlsx </a> <br> <a href = "/web/resource/a.png" rel = "reaturement nofollow"> a.png </a> <br> <p> href = "/web/download?filename = a.mp3" rel = "external nofollow"> a.mp3 </a> <br> <a href = "/web/download?filename =" real = "external nofollow"> a.exe </a> <br> <br> <a href = "/web/download" <a href = "/web/download?filename = a.xlsx" rel = "external nofollow"> a.xlsx </a> <br> <a href = "/web/download?filename = a.png" rel = "externation nofollow"> a.png </a> <br> </body> </html>
ダウンロードされたサーブレットダウンロードの内容は次のとおりです。
パッケージcom.download.servlet; import java.io.fileinputStream; Import java.io.ioexception; Import java.io.inputStream; Import javax.servlet.servletexception; Import javax.servlet.servletoutputStream; import javax.servlet.http.httpservlet; javax.servlet.http.httpservletrequest; import javax.servlet.httpservletrequest; Import javax.servlet.httpservletResponse;保護されたvoid doget(httpservletrequest request、httpservletresponse応答)Servletexception、ioexception {// 1。 string filename = request.getParameter( "filename")をダウンロードするために要求されたファイル名を取得します。 // 2。ファイル文字列のファイルシステムパスを取得filepath = request.getServletContext()。getRealPath( "resource/"+filename); // 3。応答ヘッダーを設定して、ブラウザに応答ファイルデータを解析するのではなく、添付ファイルの形で解析する、つまりダウンロード関数Response.setContentType(this.getServletContext()。getMimeType(filename)); Response.setheader( "content-disposition"、 "attachment; filename ="+filename); // 4。ファイル入力ストリームと応答出力ストリームを読み取り、データをクライアントに出力しますintuntStream in = new FileInputStream(filepath); servletoutputStream out = respons.getOutputStream(); int len = 0; byte [] buf = new byte [1024]; while((len = in.read(buf))!= -1){out.write(buf、0、len); } in.close(); }保護されたvoid dopost(httpservletrequest request、httpservletresponse応答)servletexception、ioexception {doget(request、response); }}http:// localhost:8080/downloadservlet/download.htmlをブラウザーアドレスバーに入力します。
Java Web Responseによって提供されるファイルのダウンロード機能の上記の例は、エディターが共有するすべてのコンテンツです。私はそれがあなたに参照を与えることができることを願っています、そしてあなたがwulin.comをもっとサポートできることを願っています。