SpringMVC 파일 업로드
1. 관련 의존
<종속성> <의 groupId> 평민 - 파일 업로드 </의 groupId> <artifactId를> 평민 - 파일 업로드 </ artifactId를> <버전> 1.3 . 3 </ 버전> </ 의존성>
2. 구성 springmvc-servlet.xml 파일 업로드 파일 파서
<콩 위에서 언급 한 id = " MultipartResolver " 클래스 = " org.springframework.web.multipart.commons.CommonsMultipartResolver " > <! - 및 콘텐츠의 올바른 양식 해결하기 위해 JSP pageEncoding 계약을 속성해야하는 사용자 -> <속성 이름을 = " defaultEncoding " 값 = " UTF-8. " > </ 속성> <! - 최대 파일 크기 (바이트) 1,024 * 1,024 * 50 = 5,000 -> <속성 명 = " maxUploadSize " 값 = " 52428800 " > </ 부동산> <!--resolveLazily 속성은 비정상적인 포착하기 위해 파일을 구문 분석, 파일 크기를 지연 활성화 -> <속성 이름 = " resolveLazily " 값 = " 진정한 " /> </ 콩>
3.upload.jsp :
<% - 인 IntelliJ의 IDEA 작성. 사용자 : 관리자 날짜 : 2019 년 / (9) / (29) 시간 : 20 : 28 변경하려면 이 템플릿을 사용 파일을 | 설정 | 파일 템플릿. - %> <% @ 페이지의 contentType = " text / html과; 문자셋 = UTF-8 " 언어 = " 자바 " %> <HTML> <HEAD> <TITLE>文件上传</ TITLE> </ head> <body> <양식 액션 = " $ {pageContext.request.contextPath} / 업로드 "" 에 enctype = " 다중 / 폼 데이터 " > 上传文件: <input 타입 = " 파일 " NAME = " IMG " > <버튼 타입 = " 제출 " >提交</ 버튼> </ FORM> </ body> </ HTML>
HelloController :
(@RequestMapping " / 업로드 " ) 공공 문자열 업로드 (의 MultipartFile IMG은) IOException가 {던졌습니다 FileUtils.copyInputStreamToFile (img.getInputStream (), 새로운 파일 ( " D를 : / YYY / " + img.getOriginalFilename ())); 반환 " 앞으로 : 업로드 " ; }
JSON 처리
위의 플러스의 방법에있어서 이 댓글 같은 @ResponseBody
@ResponseBody @RequestMapping ( " / jsonData1 " ) 공개 목록 <지도> jsonData1 () { 반환 bookservice.listPager ( 새로운 도서 (), 새로운 PageBean을 ()); } @ResponseBody @RequestMapping ( " / jsonData2 " ) 공개 지도 jsonData2 () { 반환 bookservice.listPager을 ( 새로운 도서 (), 새로운 PageBean ()). 수 ( 0 ); }
도구 JSONResult :
com.psy.util 패키지, 공공 클래스 JsonResult { // 교통 상태에 따라 개인 정수 상태; // 응답 메시지 개인 문자열 MSG; // 데이터 응답 개인 , 개체 데이터 개인 문자열 확인을; //은 사용하지 않는 공공 정적 JsonResult 빌드를 (상태 정수, 문자열 MSG, 객체 데이터) { 반환 새 새 , JsonResult (상태, MSG, 데이터) } 공공 정적 JsonResult 확인 (데이터 객체) { 반환 새로운 새로운 JsonResult (데이터); } 공공 정적을JSONResult 확인 () { 반환 새 JSONResult ( 널 (null)를 ); } 공공 정적 JSONResult에서 errormsg (문자열 MSG를) { 반환 새 (JSONResult (500) , MSG, 널을 ); } 공용 정적 JSONResult errorMap (객체 데이터) { 돌아가 새로운 JSONResult ( 501 , " 에러 " , 데이터); } 공공 정적 JSONResult errorTokenMsg (문자열 MSG) { 반환 새 JSONResult을 ( 502 , MSG,널 ); } 공공 정적 JSONResult errorException (문자열 MSG를) { 반환 새 (JSONResult 555 , MSG, 널을 ); } 공개 JSONResult () { } 공개 JSONResult (정수 상태 문자열 MSG 오브젝트 데이터) { 이 .STATUS = 상태; 이 된 .msg = MSG; 이 .DATA = 데이터; } 공개 JSONResult (객체 데이터) { 이 .STATUS = 200 ; 이 된 .msg =" OK " ; 이 .DATA = 데이터; } 공개 부울 isOK () { 반환 이 .STATUS의 == 200 ; } 공공 정수의 getStatus () { 반환 상태; } 공공 공극 대해 setStatus (정수 상태) { 이 .STATUS = 상태; } 공공 문자열 getMsg () { 반환 MSG; } 공공 무효 setMsg (문자열 MSG) { 이 된 .msg = MSG; } 공공 오브젝트 GetData의 () { 반환 데이터; } 공개 무효 사항 setData (객체 데이터) { 이 .DATA = 데이터; } 공공 문자열 getOk () { 반환 확인; } 공공 무효 setOk (문자열 확인) { 이 .ok = 확인; } }
@ResponseBody @RequestMapping ( " / jsonData3 " ) 공공 JsonResult jsonData3 () { 지도지도 = 새로운 새로운 HashMap의은 (); 반환 JSONResult.ok ( " 성공 : 여기에 문자열, 객체, 배열을 저장할 수 컬렉션은 수행이 접합을 저장 프로세스 맵 설정 " ); } @ResponseBody @RequestMapping ( " / jsonData4 " ) 공공 JsonResult jsonData4는 () { 반환 JSONResult.errorMsg를 ( " 실패 :이 문자열, 객체, 배열을 가질 수 컬렉션은 수행이 접합을 저장 프로세스 맵 설정 " ); }