파일업로드시 maxsize 관련 에러처리
- 작성자 :
- 조*훈
- 작성일 :
- 2011-04-12 18:00:26
- 조회수 :
- 3,023
- 구분 :
- 공통컴포넌트
- 진행상태 :
- 완료
Q
현재 common.xml 에서
<alias name="spring.RegularCommonsMultipartResolver" alias="multipartResolver" />
설정을 사용하고 있습니다.
maxUploadSize 로 제한되어 있는 용량의 파일업로드가 이루어질경우에
org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException
....생략
와 같은 Exception 이 발생하는데요.
해당 Exception 발생시에 메세지나 화면이동과 같은 처리는 어떻게 하나요?
<alias name="spring.RegularCommonsMultipartResolver" alias="multipartResolver" />
설정을 사용하고 있습니다.
maxUploadSize 로 제한되어 있는 용량의 파일업로드가 이루어질경우에
org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException
....생략
와 같은 Exception 이 발생하는데요.
해당 Exception 발생시에 메세지나 화면이동과 같은 처리는 어떻게 하나요?
A
안녕하세요.. 조지훈님..
우선 MultipartResolver 처리는 Controller 처리 이전에 호출되기 때문에...
일반적은 try .. catch로 위 Exception을 처리할 수 없습니다.
다만, DispatchServer에 전달된 Exception을 처리하기 위한 "ExceptionResolver"에
해당 Exception을 exceptionMappings에 추가하여 특정 오류 페이지로 넘어가는 것은 가능할 것 같습니다.
(다시 등록페이지로 넘어가 alert 메시지 처리하는 부분은 위 등록된 오류 페이지에서 이전 페이지에 대한 URL 정보를 얻어 메세지 파라미터와 함께 전달하는 가능)
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="defaultErrorView" value="cmm/egovError"/>
<property name="exceptionMappings">
<props>
<prop key="org.springframework.dao.DataAccessException">cmm/dataAccessFailure</prop>
<prop key="org.springframework.transaction.TransactionException">cmm/dataAccessFailure</prop>
<prop key="egovframework.rte.fdl.cmmn.exception.EgovBizException">cmm/egovBizException</prop>
<prop key="org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException
">cmm/SizeLime</prop>
</props>
</property>
</bean>
그럼.. 즐거운 하루되십시오.
감사합니다.
우선 MultipartResolver 처리는 Controller 처리 이전에 호출되기 때문에...
일반적은 try .. catch로 위 Exception을 처리할 수 없습니다.
다만, DispatchServer에 전달된 Exception을 처리하기 위한 "ExceptionResolver"에
해당 Exception을 exceptionMappings에 추가하여 특정 오류 페이지로 넘어가는 것은 가능할 것 같습니다.
(다시 등록페이지로 넘어가 alert 메시지 처리하는 부분은 위 등록된 오류 페이지에서 이전 페이지에 대한 URL 정보를 얻어 메세지 파라미터와 함께 전달하는 가능)
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="defaultErrorView" value="cmm/egovError"/>
<property name="exceptionMappings">
<props>
<prop key="org.springframework.dao.DataAccessException">cmm/dataAccessFailure</prop>
<prop key="org.springframework.transaction.TransactionException">cmm/dataAccessFailure</prop>
<prop key="egovframework.rte.fdl.cmmn.exception.EgovBizException">cmm/egovBizException</prop>
<prop key="org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException
">cmm/SizeLime</prop>
</props>
</property>
</bean>
그럼.. 즐거운 하루되십시오.
감사합니다.