アップロードに最大25MBのサイズを許可しているため、例外HandlerExceptionResolver
を処理するためにSpringを実装する1つのクラスを作成しました。MaxUploadSizeExceededException
次のように、このクラスをサーブレットコンテキストに登録しました。
<bean id="uploadingFileSizeExceeds"
class="com.puresafety.health.ui.web.demographics.controllers.FileSizeExceedsMaxLimitHandler" >
</bean>
クラスFileSizeExceedsMaxLimitHandler
public class FileSizeExceedsMaxLimitHandler implements HandlerExceptionResolver {
private final static Log logger = LogFactory
.getLog(FileSizeExceedsMaxLimitHandler.class);
public ModelAndView resolveException(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex) {
logger.debug("FileSizeExceedsMaxLimitHandler.resolveException: Control is coming here because uploading file size is exceeding max allowed limit.");
if (ex instanceof MaxUploadSizeExceededException
&& request.getPathInfo().equals(
"/demographicsPhoto/uploadimagefile")) {
logger.debug("FileSizeExceedsMaxLimitHandler.resolveException: MaxUploadSizeExceededException occurred");
request.setAttribute("ALERTMESSAGE",
"The image size is exceeding the allowed limit.");
ImageUploadForm imageUploadForm = new ImageUploadForm();
Map<String, Object> model = new HashMap<String, Object>();
model.put("imageUploadForm", imageUploadForm);
return new ModelAndView("demographics/uploadEmployeeImage", model);
}
return new ModelAndView("base/error/error404");
}
}
ローカルでは例外を正常にキャッチしていますが、クラスター化された QA 環境では機能していません。つまり、このクラスの resolveException メソッドに制御が行きません。
私がここに欠けているもの。前もって感謝します!