上傳文件超過配置大小 (預設 1MB) 拋出 MaxUploadSizeExceededException,異常能捕獲但無法跳轉到友好提示頁,瀏覽器顯示默認錯誤頁或空白。
SpringMVC 的 MultipartResolver 在 **Controller 方法進入前** 解析請求,若文件過大直接拋出異常,**未進入 Controller**,因此 @ExceptionHandler、**ControllerAdvice** 均無法捕獲。
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<property name="exceptionMappings">
<props>
<prop key="org.springframework.web.multipart.MaxUploadSizeExceededException">error/uploadSizeExceeded</prop>
</props>
</property>
</bean>handleException 針對性處理。file.size 超限直接提示,減少無效請求。<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="10485760" /> <!-- 10MB -->
</bean>
**異常發生在 Controller 之前**,必須在 **HandlerExceptionResolver** 層面全域性攔截解析,而非 Controller 內部 @ExceptionHandler。