스프링 컨트롤러 다운로드

그림 2 : 봄 Mvc 파일 다운로드 응용 프로그램 워크 플로우 이것은 스프링 Mvc와 파일 다운로드의 예였다. 새 팝 창이 열리고 파일 이름을 다음과 같이 입력합니다. 스프링 컨트롤러 클래스는 패키지 내에서 만들어집니다: com.jcg.spring.mvc.file.download. 스프링 프레임워크를 구성하려면 기본 Java 클래스와 외부 세계 간의 인터페이스를 제공하는 bean 구성 파일 즉 스프링-servlet.xml을 구현해야 합니다. 이 XML 파일을 SpringMvcDownloadFile/src/main/webapp/WEB-INF 폴더에 넣고 다음 코드를 추가합니다: 파일은 폴더 « /WEB-INF/다운로드/pdf » 폴더 안에 배치됩니다. 경로를 자유롭게 변경할 수 있습니다 . 18713/다운로드 방법 – 스프링 컨트롤러에서 파일을 다운로드하는 것은 매우 간단하고 다음 단계를 포함한다. 스프링 3.0을 사용하면 HttpEntity 반환 개체를 사용할 수 있습니다. 이 것을 사용하는 경우 컨트롤러에는 HttpServletResponse 개체가 필요하지 않으므로 테스트하기가 더 쉽습니다. 이 것을 제외하고,이 대답은 인펠리고 중 하나와 상대적입니다. web.xml 파일은 모든 종류의 요청을 수신하기 위해 하나의 서벌렛(예: 디스패처 서발렛)을 선언하고 응용 프로그램에 액세스할 때 기본 페이지를 지정합니다. 디스패처 서볼렛은 여기서 전면 컨트롤러 역할을 합니다. 다음 코드를 추가: 수정된 FileDownloadController는 참조 헤더가 null이 아닌 경우에만 브라우저로 파일을 보냅니다.

이렇게 하면 브라우저에 URL을 입력하거나 다른 도메인에서 오는 요청을 통해 이미지가 직접 다운로드되는 것을 방지할 수 있습니다. 새 팝 창이 열리며 패키지 이름을 다음과 같이 입력합니다. 태그 : 핵심 자바 자바 자바 8 자바 자바 8 자바 코드 jdbc 봄 봄 MVC 지금 당신은 응용 프로그램 URL을 명중하는 경우 : http://localhost:8080/springmvcexample/download/pdf/sample.pdf, 당신은 아래와 같은 브라우저에서 대화 상자로 저장을 얻을 수있을 것입니다 : Spring Mvc는 다른 프리젠 테이션 기술에 대한 보기의 많은 유형을 지원합니다. 여기에는 JSP, HTML, XML 등이 포함됩니다. 그래서 우리는 SpringMvcDownloadFile / SRC / 메인 / 웹 앱 / WEB-INF / 보기 폴더에 간단한보기를 작성할 수 있습니다. 이 페이지는 단순히 스프링 컨트롤러 클래스의 메서드에 의해 처리 되는 다운로드 파일 링크를 보여 주면 (즉, FileDownloadController.java). 다음 코드를 추가합니다: 파일 다운로드 컨트롤러에 대한 예제 구현을 살펴보겠습니다. 그러나, 때로는 컨트롤러 경로 필요 – 그리고 우리가이 빠른 기사에서 에 초점을 맞출 거 야.

그림 10: 자바 패키지 이름 (com.jcg.spring.mvc.file.download) 파일 다운로드 요청을 처리 하기 위해 스프링 컨트롤러 클래스에서 빠른 자바 프로그램을 작성 하자. 다음 코드를 추가합니다. 파일을 검색한 후 파일이 있는지 검사합니다. 파일이 없는 경우 FileNotFoundException을 throw합니다. 코드가 던질 수 있는 유일한 예외는 아닙니다. IOException은 파일이 OutputStream에 기록될 때도 발생할 수 있습니다. 아래의 예외 처리기를 사용하여 두 예외를 모두 처리합니다. @ControllerAdvice 클래스에 추가하면 이 클래스는 봄까지 전역 예외 처리기로 등록됩니다. @ExceptionHandler 예상된 예외와 함께 해당 예외를 처리 합니다. 이러한 처리기 내에서 올바른 상태 코드와 지정된 오류 메시지를 사용하여 예외를 다시 트러코딩합니다. 파일 다운로드 링크를 클릭하여 로컬 컴퓨터에 파일을 저장합니다.

첫 번째 간단한 해결책은 컨트롤러 메서드의 @ResponseBody 어칭을 사용하여 메서드에서 반환되는 개체를 HTTP 응답 본문에 직접 마샬링해야 함을 나타내는 것입니다.

Les commentaires sont fermés.