다운로드를 구현 하는 가장 쉬운 방법은 사용자가 파일 위치로 향하게 하 고 브라우저가 자동으로이 작업을 수행 한다는 것입니다. 나는 바이트를 사용 하 여 서블릿 내 PDF 파일을 만든 상황이 있습니다. 자체적으로 실행 하면 서블릿은 작동 하 고 내 PDF 파일을 생성 하지만, 버튼의 JSP에서 파일을 열 필요가 있는 인스턴스입니다. 나는 그것에 대해 어떻게 갈 것에 익숙한 사람이 있습니까? 잘 작동, 공유 주셔서 감사 합니다, 내가 가진 하나의 쿼리는 “InputStream은” 닫혀 있어야 합니다? JVM이 여전히 오픈 모드를가지고 있기 때문에 내 끝에서 파일을 삭제할 수 없기 때문에, 내 코드에서 jsp에서 스크립트릿을 열고 위의 코드를 삽입 했습니다. 우리의 최종 구현은 아래와 같이 보입니다. http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/http/HttpServletRequest.html 예제에서는 간단한 텍스트 파일을 사용 하 고 있습니다. 텍스트 파일의 콘텐츠 형식은 “텍스트/일반”입니다. 에 의해 게시 됨: 야 틴 인 서블릿 1 월 5 일, 2018 6 코멘트 조회 수 안녕하세요 m은 반환 문자열을 zip 파일로 저장 하려고 합니다. 그러나 파일은 인코딩된 것으로 저장 됩니다. 응답 헤더: 내용-처리: 첨부 파일; 파일 이름 = “파일 이름 확장명” 연결 유지: 제한 시간 (최대 = 100) 연결이 지속 전송 인코딩: 청크 분할 콘텐츠 유형: 응용 프로그램/8 진수 스트림 나는 다음과 같이 읽으 려 고 노력 했다. 바이트 [] 버퍼 = 새 바이트 [4096]; int =-1; OutputStream 출력 = 새 FileOutputStream (파일); (버퍼)를 입력 하는 동안에는 출력 값이 0이 되는 경우 (버퍼, 0, n)} 그러나 파일이 인코딩된 것으로 저장 됩니다. 당신은 다른 것을 제안 하시기 바랍니다 수 있습니까? 그것의 zip 파일 그것은 os. 플러시 () 및 운영 체제.

닫기 ()는 여기에서 사용 되지 않습니다 서블릿 컨테이너가 어쨌든 그것을 할 것입니다 때문에. Http://stackoverflow.com/questions/5043657/do-i-need-to-flush-the-servlet-outputstream에 따라 Java에서 서블릿 프레임 워크를 구현 하기 위한 단계별 가이드가 있습니다. @WebServlet (“/다운로드”) 주석은 “/download” 끝점에서 지시 하는 요청을 처리 하기 위해 다운로드 서블릿 클래스를 표시 합니다. Java EE를 사용 하는 경우, 우리는 어떤 의존성을 추가 할 필요가 없습니다. 그러나 Java SE를 사용 하는 경우에는 javax가 필요 합니다. 서블릿-api 종속성: 업데이트: 서블릿 사양 3 API에서 서버에 파일을 업로드 하는 지원을 추가, 그래서 우리는 어떤 제 3 자 API를 사용할 필요가 없습니다. 서블릿 3 업로드 파일을 확인 하십시오. 예, 개념이 모든 파일 형식에 적용 되지만 필요에 따라 “응용 프로그램/8 진수 스트림” 또는 기타 콘텐츠 형식으로 “응답”을 변경 해야 할 수도 있습니다. 이 페이지에는 하나 또는 여러 개의 파일을 업로드 하는 업로드 양식이 포함 되어 있습니다.

다음 코드를 추가 합니다. 서블릿 기술은 Java 언어를 사용 하므로 Servlet을 사용 하 여 만든 웹 애플리케이션은 안전 하 고 확장 가능 하며 견고 합니다. 이제 서블릿 3.0의 업로드 > 다운로드 기능에 대해 알아보겠습니다.