В jsp, HttpServletRequest изменяемый через все страницы? (проблема загрузки файла)
При установке ограничения размера файла для файла fileupload (класс diskfileupload), например, 10 МБ, при загрузке файла размером более 10 МБ, diskfileupload выдаст исключение sizelimitexceededexception, с этим у меня возникла response.redirect("предыдущая веб-страница") на поймать исключение как ff:
try{
DiskFileUpload dfu = new DiskFileUpload();
dfu.setSizeThreshold(4096);
dfu.setSizeMax(10 * 1024 * 1024);
dfu.setRepositoryPath(tempDir);
// get form values here after parse
java.util.List formItems = dfu.parseRequest(request);
... some form params (shorten code)
String userName = formItems.get("userName");
if(userName.isEmpty()){
response.redirect("/addUser?error=username cannot be empty");
}
}catch(Exception e){
if(e.toString().contains("SizeLimitExceededException")){
response.redirect("/addUser?error=cannot upload more than 10MB file sise");
} else {
throw e;
}
}
проблема в том, что когда я ничего не загружаю, просто перенаправьте ответ на страницу addUser, когда имя пользователя пусто, я все еще могу получить старые значения другого поля и показать сообщение об ошибке, но когда я загружаю файл, размер которого превышает 10 МБ предел, когда перенаправить обратно в addUser, все старые значения исчезли, и иногда я вижу, что в заголовке содержимого отсутствует ошибка.
Что я делаю неправильно?