WebApp 프로젝트의 구조는 다음과 같습니다.
Download.html 파일의 내용은 다음과 같습니다.
<! doctype html> <html> <head> <meta charset = "utf-8"> <title> 제목 삽입 제목 </title> </head> <hody> <h1> 자원 다운로드 : </h1> <p> 단순히 A 태그를 사용하면 브라우저가 구문 분석 할 수없는 파일 만 다운로드 할 수 있습니다. </p> <a href = "/web/resource/a.mp3"rel = "external nofollow"> a.mp3 </a> <br> <a href = "/web/resource/a.exe"rel = "external nofollow"> a.exe </a> <br> <a href = "/web/a.txt"rel = "exteral noffolly"rel =. <a href = "/web/resource/a.xlsx"rel = "external nofollow"> a.xlsx </a> <br> <a href = "/web/resource/a.png"rel = "external nofollow"> a.png </a> <br> <br> <br> <br> <br> <png </a> </p. <a href = "/web/download? filename = a.mp3"rel = "external nofollow"> a.mp3 </a> <br> a href = "/web/download? filename = a.exe"rel = "external nofollow"> a.exe </ef <br> <a href = "/web/download? filenam = a.txt"rel = "external nofollow" > a.txt </a> <br> <a href = "/web/download? filename = a.xlsx"rel = "external nofollow"> a.xlsx </a> <br> <a href = "/web/download? filename = a.png"rel = "external nofollow"> a.png </a> </html> </html>
다운로드 된 Servlet-Download.java 파일의 내용은 다음과 같습니다.
패키지 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.httpservlet; import; javax.servlet.http.httpervletrequest; import javax.servlet.http.htttp.httpervletrequest; import javax.servlet.http.htttp.httvletresponse;/** ** ** ** ** ** * servlet 구현 클래스 다운로드 */public class download httpservlet {private static long serial httatic hat arial serial uid = 1l; 보호 된 void doget (httpservletrequest 요청, httpservletrepsonse 응답)은 servletexception, ioexception {// 1. 문자열 filename = request.getParameter ( "filename")를 다운로드하도록 요청 된 파일 이름을 가져옵니다. // 2. 파일 string filepath = request.getServletContext (). getRealPath ( "resource/"+filename)의 파일 시스템 경로를 가져옵니다. // 3. 응답 헤더를 브라우저에 응답 파일 데이터를 구문 분석하지 말고 첨부 파일 형식으로 구문 분석 할 수 있도록 응답 헤더를 설정합니다. response.setHeader ( "내용화", "첨부 파일; filename ="+filename); // 4. 파일 입력 스트림과 응답 출력 스트림을 읽고 데이터를 클라이언트 inputStream in = new FileInputStream (FilePath)에 출력합니다. servletoutputStream out = response.getOutputStream (); int len = 0; 바이트 [] buf = 새로운 바이트 [1024]; while ((len = in.read (buf))! = -1) {out.write (buf, 0, len); } in.close (); } 보호 된 void dopost (httpservletRequest 요청, httpservletResponse 응답) servletexception, ioexception {doget (요청, 응답); }}브라우저 주소 표시 줄에 http : // localhost : 8080/downloadservlet/download.html을 입력하십시오.
Java Web Response가 제공하는 파일 다운로드 함수의 위의 예제는 편집기가 공유하는 모든 컨텐츠입니다. 나는 그것이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.