Я перехожу с eap7 на 8 (также с javax на jakarta), и у меня есть запрос с помощью MultipartFile. Мое приложение использует jsp. Файл попадает на сервер, в контроллере он обрабатывается (не записывается), затем преобразователь multipart пытается очистить multipart, во время чего он ожидает (с помощью сервлета jsp) присутствия multipart конфигурации. Эта конфигурация присутствует в моем объявленном сервлете, но не в автоматически сгенерированном сервлете jsp.
Это фрагмент jsp, который запускает мой контроллер:
Код: Выделить всё
Код: Выделить всё
@RequestMapping(value = "/addStuff", method = RequestMethod.POST)
public String addStuff(Model model, @RequestParam("file") MultipartFile file, HttpServletRequest request) throws IOException {
doSomeReadLogicWithFile(file);
return "myJspPage";
}
}
Тогда стек выглядит следующим образом:
р>
Код: Выделить всё
2024-07-17 12:15:05,436 WARN [org.springframework.web.multipart.support.StandardServletMultipartResolver] (default task-53) Failed to perform cleanup of multipart items: java.lang.IllegalStateException: UT010057: m u l t i p a r t c o n f i g w a s n o t p r e s e n t o n S e r v l e t < b r / > a t i o . u n d e r t o w . s e r v l e t @ 2 . 3 . 1 4 . S P 1 - r e d h a t - 0 0 0 0 1 / / i o . u n d e r t o w . s e r v l e t . s p e c . H t t p S e r v l e t R e q u e s t I m p l . v e r i f y M u l t i p a r t S e r v l e t ( H t t p S e r v l e t R e q u e s t I m p l . j a v a : 5 6 7 ) < b r / > a t i o . u n d e r t o w . s e r v l e t @ 2 . 3 . 1 4 . S P 1 - r e d h a t - 0 0 0 0 1 / / i o . u n d e r t o w . s e r v l e t . s p e c . H t t p S e r v l e t R e q u e s t I m p l . g e t P a r t s ( H t t p S e r v l e t R e q u e s t I m p l . j a v a : 5 5 6 ) < b r / > a t j a k a r t a . s e r v l e t . a p i @ 6 . 0 . 0 . r e d h a t - 0 0 0 0 5 / / j a k a r t a . s e r v l e t . h t t p . H t t p S e r v l e t R e q u e s t W r a p p e r . g e t P a r t s ( H t t p S e r v l e t R e q u e s t W r a p p e r . j a v a : 3 0 6 ) < b r / > a t j a k a r t a . s e r v l e t . a p i @ 6 . 0 . 0 . r e d h a t - 0 0 0 0 5 / / j a k a r t a . s e r v l e t . h t t p . H t t p S e r v l e t R e q u e s t W r a p p e r . g e t P a r t s ( H t t p S e r v l e t R e q u e s t W r a p p e r . j a v a : 3 0 6 ) < b r / > a t j a k a r t a . s e r v l e t . a p i @ 6 . 0 . 0 . r e d h a t - 0 0 0 0 5 / / j a k a r t a . s e r v l e t . h t t p . H t t p S e r v l e t R e q u e s t W r a p p e r . g e t P a r t s ( H t t p S e r v l e t R e q u e s t W r a p p e r . j a v a : 3 0 6 ) < b r / > a t j a k a r t a . s e r v l e t . a p i @ 6 . 0 . 0 . r e d h a t - 0 0 0 0 5 / / j a k a r t a . s e r v l e t . h t t p . H t t p S e r v l e t R e q u e s t W r a p p e r . g e t P a r t s ( H t t p S e r v l e t R e q u e s t W r a p p e r . j a v a : 3 0 6 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . w e b . m u l t i p a r t . s u p p o r t . S t a n d a r d S e r v l e t M u l t i p a r t R e s o l v e r . c l e a n u p M u l t i p a r t ( S t a n d a r d S e r v l e t M u l t i p a r t R e s o l v e r . j a v a : 1 2 2 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . w e b . s e r v l e t . D i s p a t c h e r S e r v l e t . c l e a n u p M u l t i p a r t ( D i s p a t c h e r S e r v l e t . j a v a : 1 2 6 8 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . w e b . s e r v l e t . D i s p a t c h e r S e r v l e t . d o D i s p a t c h ( D i s p a t c h e r S e r v l e t . j a v a : 1 1 2 5 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . w e b . s e r v l e t . D i s p a t c h e r S e r v l e t . d o S e r v i c e ( D i s p a t c h e r S e r v l e t . j a v a : 9 7 9 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . w e b . s e r v l e t . F r a m e w o r k S e r v l e t . p r o c e s s R e q u e s t ( F r a m e w o r k S e r v l e t . j a v a : 1 0 1 4 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . w e b . s e r v l e t . F r a m e w o r k S e r v l e t . d o P o s t ( F r a m e w o r k S e r v l e t . j a v a : 9 1 4 ) < b r / > a t j a k a r t a . s e r v l e t . a p i @ 6 . 0 . 0 . r e d h a t - 0 0 0 0 5 / / j a k a r t a . s e r v l e t . h t t p . H t t p S e r v l e t . s e r v i c e ( H t t p S e r v l e t . j a v a : 5 4 7 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . w e b . s e r v l e t . F r a m e w o r k S e r v l e t . s e r v i c e ( F r a m e w o r k S e r v l e t . j a v a : 8 8 5 ) < b r / > a t j a k a r t a . s e r v l e t . a p i @ 6 . 0 . 0 . r e d h a t - 0 0 0 0 5 / / j a k a r t a . s e r v l e t . h t t p . H t t p S e r v l e t . s e r v i c e ( H t t p S e r v l e t . j a v a : 6 1 4 ) < b r / > a t i o . u n d e r t o w . s e r v l e t @ 2 . 3 . 1 4 . S P 1 - r e d h a t - 0 0 0 0 1 / / i o . u n d e r t o w . s e r v l e t . h a n d l e r s . S e r v l e t H a n d l e r . h a n d l e R e q u e s t ( S e r v l e t H a n d l e r . j a v a : 7 4 ) < b r / > a t i o . u n d e r t o w . s e r v l e t @ 2 . 3 . 1 4 . S P 1 - r e d h a t - 0 0 0 0 1 / / i o . u n d e r t o w . s e r v l e t . h a n d l e r s . F i l t e r H a n d l e r $ F i l t e r C h a i n I m p l . d o F i l t e r ( F i l t e r H a n d l e r . j a v a : 1 2 9 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / m y . a p p . p a c k a g i n g . f i l t e r s . H t t p H e a d F i l t e r . d o F i l t e r ( H t t p H e a d F i l t e r . j a v a : 4 3 ) < b r / > a t i o . u n d e r t o w . s e r v l e t @ 2 . 3 . 1 4 . S P 1 - r e d h a t - 0 0 0 0 1 / / i o . u n d e r t o w . s e r v l e t . c o r e . M a n a g e d F i l t e r . d o F i l t e r ( M a n a g e d F i l t e r . j a v a : 6 7 ) < b r / > a t i o . u n d e r t o w . s e r v l e t @ 2 . 3 . 1 4 . S P 1 - r e d h a t - 0 0 0 0 1 / / i o . u n d e r t o w . s e r v l e t . h a n d l e r s . F i l t e r H a n d l e r $ F i l t e r C h a i n I m p l . d o F i l t e r ( F i l t e r H a n d l e r . j a v a : 1 3 1 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / m y . a p p . p a c k a g i n g . f i l t e r s . M y A p p S e c u r i t y F i l t e r . d o F i l t e r ( M y A p p S e c u r i t y F i l t e r . j a v a : 2 8 ) < b r / > a t i o . u n d e r t o w . s e r v l e t @ 2 . 3 . 1 4 . S P 1 - r e d h a t - 0 0 0 0 1 / / i o . u n d e r t o w . s e r v l e t . c o r e . M a n a g e d F i l t e r . d o F i l t e r ( M a n a g e d F i l t e r . j a v a : 6 7 ) < b r / > a t i o . u n d e r t o w . s e r v l e t @ 2 . 3 . 1 4 . S P 1 - r e d h a t - 0 0 0 0 1 / / i o . u n d e r t o w . s e r v l e t . h a n d l e r s . F i l t e r H a n d l e r $ F i l t e r C h a i n I m p l . d o F i l t e r ( F i l t e r H a n d l e r . j a v a : 1 3 1 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . F i l t e r C h a i n P r o x y . l a m b d a $ d o F i l t e r I n t e r n a l $ 3 ( F i l t e r C h a i n P r o x y . j a v a : 2 3 1 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . F i l t e r C h a i n P r o x y $ V i r t u a l F i l t e r C h a i n . d o F i l t e r ( F i l t e r C h a i n P r o x y . j a v a : 3 6 5 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . a c c e s s . i n t e r c e p t . A u t h o r i z a t i o n F i l t e r . d o F i l t e r ( A u t h o r i z a t i o n F i l t e r . j a v a : 1 0 0 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . F i l t e r C h a i n P r o x y $ V i r t u a l F i l t e r C h a i n . d o F i l t e r ( F i l t e r C h a i n P r o x y . j a v a : 3 7 4 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . a c c e s s . E x c e p t i o n T r a n s l a t i o n F i l t e r . d o F i l t e r ( E x c e p t i o n T r a n s l a t i o n F i l t e r . j a v a : 1 2 6 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . a c c e s s . E x c e p t i o n T r a n s l a t i o n F i l t e r . d o F i l t e r ( E x c e p t i o n T r a n s l a t i o n F i l t e r . j a v a : 1 2 0 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . F i l t e r C h a i n P r o x y $ V i r t u a l F i l t e r C h a i n . d o F i l t e r ( F i l t e r C h a i n P r o x y . j a v a : 3 7 4 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . s e s s i o n . S e s s i o n M a n a g e m e n t F i l t e r . d o F i l t e r ( S e s s i o n M a n a g e m e n t F i l t e r . j a v a : 1 3 1 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . s e s s i o n . S e s s i o n M a n a g e m e n t F i l t e r . d o F i l t e r ( S e s s i o n M a n a g e m e n t F i l t e r . j a v a : 8 5 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . F i l t e r C h a i n P r o x y $ V i r t u a l F i l t e r C h a i n . d o F i l t e r ( F i l t e r C h a i n P r o x y . j a v a : 3 7 4 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . a u t h e n t i c a t i o n . A n o n y m o u s A u t h e n t i c a t i o n F i l t e r . d o F i l t e r ( A n o n y m o u s A u t h e n t i c a t i o n F i l t e r . j a v a : 1 0 0 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . F i l t e r C h a i n P r o x y $ V i r t u a l F i l t e r C h a i n . d o F i l t e r ( F i l t e r C h a i n P r o x y . j a v a : 3 7 4 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . s e r v l e t a p i . S e c u r i t y C o n t e x t H o l d e r A w a r e R e q u e s t F i l t e r . d o F i l t e r ( S e c u r i t y C o n t e x t H o l d e r A w a r e R e q u e s t F i l t e r . j a v a : 1 7 9 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . F i l t e r C h a i n P r o x y $ V i r t u a l F i l t e r C h a i n . d o F i l t e r ( F i l t e r C h a i n P r o x y . j a v a : 3 7 4 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . s a v e d r e q u e s t . R e q u e s t C a c h e A w a r e F i l t e r . d o F i l t e r ( R e q u e s t C a c h e A w a r e F i l t e r . j a v a : 6 3 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . F i l t e r C h a i n P r o x y $ V i r t u a l F i l t e r C h a i n . d o F i l t e r ( F i l t e r C h a i n P r o x y . j a v a : 3 7 4 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . a u t h e n t i c a t i o n . w w w . B a s i c A u t h e n t i c a t i o n F i l t e r . d o F i l t e r I n t e r n a l ( B a s i c A u t h e n t i c a t i o n F i l t e r . j a v a : 1 8 1 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . w e b . f i l t e r . O n c e P e r R e q u e s t F i l t e r . d o F i l t e r ( O n c e P e r R e q u e s t F i l t e r . j a v a : 1 1 6 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . F i l t e r C h a i n P r o x y $ V i r t u a l F i l t e r C h a i n . d o F i l t e r ( F i l t e r C h a i n P r o x y . j a v a : 3 7 4 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . a u t h e n t i c a t i o n . A b s t r a c t A u t h e n t i c a t i o n P r o c e s s i n g F i l t e r . d o F i l t e r ( A b s t r a c t A u t h e n t i c a t i o n P r o c e s s i n g F i l t e r . j a v a : 2 2 7 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . a u t h e n t i c a t i o n . A b s t r a c t A u t h e n t i c a t i o n P r o c e s s i n g F i l t e r . d o F i l t e r ( A b s t r a c t A u t h e n t i c a t i o n P r o c e s s i n g F i l t e r . j a v a : 2 2 1 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . F i l t e r C h a i n P r o x y $ V i r t u a l F i l t e r C h a i n . d o F i l t e r ( F i l t e r C h a i n P r o x y . j a v a : 3 7 4 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . a u t h e n t i c a t i o n . l o g o u t . L o g o u t F i l t e r . d o F i l t e r ( L o g o u t F i l t e r . j a v a : 1 0 7 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . a u t h e n t i c a t i o n . l o g o u t . L o g o u t F i l t e r . d o F i l t e r ( L o g o u t F i l t e r . j a v a : 9 3 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . F i l t e r C h a i n P r o x y $ V i r t u a l F i l t e r C h a i n . d o F i l t e r ( F i l t e r C h a i n P r o x y . j a v a : 3 7 4 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . c s r f . C s r f F i l t e r . d o F i l t e r I n t e r n a l ( C s r f F i l t e r . j a v a : 1 3 1 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . w e b . f i l t e r . O n c e P e r R e q u e s t F i l t e r . d o F i l t e r ( O n c e P e r R e q u e s t F i l t e r . j a v a : 1 1 6 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . F i l t e r C h a i n P r o x y $ V i r t u a l F i l t e r C h a i n . d o F i l t e r ( F i l t e r C h a i n P r o x y . j a v a : 3 7 4 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . h e a d e r . H e a d e r W r i t e r F i l t e r . d o H e a d e r s A f t e r ( H e a d e r W r i t e r F i l t e r . j a v a : 9 0 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . h e a d e r . H e a d e r W r i t e r F i l t e r . d o F i l t e r I n t e r n a l ( H e a d e r W r i t e r F i l t e r . j a v a : 7 5 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . w e b . f i l t e r . O n c e P e r R e q u e s t F i l t e r . d o F i l t e r ( O n c e P e r R e q u e s t F i l t e r . j a v a : 1 1 6 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . F i l t e r C h a i n P r o x y $ V i r t u a l F i l t e r C h a i n . d o F i l t e r ( F i l t e r C h a i n P r o x y . j a v a : 3 7 4 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . c o n t e x t . r e q u e s t . a s y n c . W e b A s y n c M a n a g e r I n t e g r a t i o n F i l t e r . d o F i l t e r I n t e r n a l ( W e b A s y n c M a n a g e r I n t e g r a t i o n F i l t e r . j a v a : 6 2 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . w e b . f i l t e r . O n c e P e r R e q u e s t F i l t e r . d o F i l t e r ( O n c e P e r R e q u e s t F i l t e r . j a v a : 1 1 6 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . F i l t e r C h a i n P r o x y $ V i r t u a l F i l t e r C h a i n . d o F i l t e r ( F i l t e r C h a i n P r o x y . j a v a : 3 7 4 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . s e s s i o n . C o n c u r r e n t S e s s i o n F i l t e r . d o F i l t e r ( C o n c u r r e n t S e s s i o n F i l t e r . j a v a : 1 5 1 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . s e s s i o n . C o n c u r r e n t S e s s i o n F i l t e r . d o F i l t e r ( C o n c u r r e n t S e s s i o n F i l t e r . j a v a : 1 2 9 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . F i l t e r C h a i n P r o x y $ V i r t u a l F i l t e r C h a i n . d o F i l t e r ( F i l t e r C h a i n P r o x y . j a v a : 3 7 4 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . c o n t e x t . S e c u r i t y C o n t e x t H o l d e r F i l t e r . d o F i l t e r ( S e c u r i t y C o n t e x t H o l d e r F i l t e r . j a v a : 8 2 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . c o n t e x t . S e c u r i t y C o n t e x t H o l d e r F i l t e r . d o F i l t e r ( S e c u r i t y C o n t e x t H o l d e r F i l t e r . j a v a : 6 9 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . F i l t e r C h a i n P r o x y $ V i r t u a l F i l t e r C h a i n . d o F i l t e r ( F i l t e r C h a i n P r o x y . j a v a : 3 7 4 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . s e s s i o n . D i s a b l e E n c o d e U r l F i l t e r . d o F i l t e r I n t e r n a l ( D i s a b l e E n c o d e U r l F i l t e r . j a v a : 4 2 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . w e b . f i l t e r . O n c e P e r R e q u e s t F i l t e r . d o F i l t e r ( O n c e P e r R e q u e s t F i l t e r . j a v a : 1 1 6 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . F i l t e r C h a i n P r o x y $ V i r t u a l F i l t e r C h a i n . d o F i l t e r ( F i l t e r C h a i n P r o x y . j a v a : 3 7 4 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . F i l t e r C h a i n P r o x y . d o F i l t e r I n t e r n a l ( F i l t e r C h a i n P r o x y . j a v a : 2 3 3 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . s e c u r i t y . w e b . F i l t e r C h a i n P r o x y . d o F i l t e r ( F i l t e r C h a i n P r o x y . j a v a : 1 9 1 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . w e b . f i l t e r . D e l e g a t i n g F i l t e r P r o x y . i n v o k e D e l e g a t e ( D e l e g a t i n g F i l t e r P r o x y . j a v a : 3 5 2 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . w e b . f i l t e r . D e l e g a t i n g F i l t e r P r o x y . d o F i l t e r ( D e l e g a t i n g F i l t e r P r o x y . j a v a : 2 6 8 ) < b r / > a t i o . u n d e r t o w . s e r v l e t @ 2 . 3 . 1 4 . S P 1 - r e d h a t - 0 0 0 0 1 / / i o . u n d e r t o w . s e r v l e t . c o r e . M a n a g e d F i l t e r . d o F i l t e r ( M a n a g e d F i l t e r . j a v a : 6 7 ) < b r / > a t i o . u n d e r t o w . s e r v l e t @ 2 . 3 . 1 4 . S P 1 - r e d h a t - 0 0 0 0 1 / / i o . u n d e r t o w . s e r v l e t . h a n d l e r s . F i l t e r H a n d l e r $ F i l t e r C h a i n I m p l . d o F i l t e r ( F i l t e r H a n d l e r . j a v a : 1 3 1 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . w e b . f i l t e r . C h a r a c t e r E n c o d i n g F i l t e r . d o F i l t e r I n t e r n a l ( C h a r a c t e r E n c o d i n g F i l t e r . j a v a : 2 0 1 ) < b r / > a t d e p l o y m e n t . m y - a p p - w e b . w a r / / o r g . s p r i n g f r a m e w o r k . w e b . f i l t e r . O n c e P e r R e q u e s t F i l t e r . d o F i l t e r ( O n c e P e r R e q u e s t F i l t e r . j a v a : 1 1 6 ) < b r / > a t i o . u n d e r t o w . s e r v l e t @ 2 . 3 . 1 4 . S P 1 - r e d h a t - 0 0 0 0 1 / / i o . u n d e r t o w . s e r v l e t . c o r e . M a n a g e d F i l t e r . d o F i l t e r ( M a n a g e d F i l t e r . j a v a : 6 7 ) < b r / > a t i o . u n d e r t o w . s e r v l e t @ 2 . 3 . 1 4 . S P 1 - r e d h a t - 0 0 0 0 1 / / i o . u n d e r t o w . s e r v l e t . h a n d l e r s . F i l t e r H a n d l e r $ F i l t e r C h a i n I m p l . d o F i l t e r ( F i l t e r H a n d l e r . j a v a : 1 3 1 ) < b r / > a t i o . u n d e r t o w . s e r v l e t @ 2 . 3 . 1 4 . S P 1 - r e d h a t - 0 0 0 0 1 / / i o . u n d e r t o w . s e r v l e t . h a n d l e r s . F i l t e r H a n d l e r . h a n d l e R e q u e s t ( F i l t e r H a n d l e r . j a v a : 8 4 ) < b r / > a t i o . u n d e r t o w . s e r v l e t @ 2 . 3 . 1 4 . S P 1 - r e d h a t - 0 0 0 0 1 / / i o . u n d e r t o w . s e r v l e t . h a n d l e r s . s e c u r i t y . S e r v l e t S e c u r i t y R o l e H a n d l e r . h a n d l e R e q u e s t ( S e r v l e t S e c u r i t y R o l e H a n d l e r . j a v a : 6 2 ) < b r / > a t i o . u n d e r t o w . s e r v l e t @ 2 . 3 . 1 4 . S P 1 - r e d h a t - 0 0 0 0 1 / / i o . u n d e r t o w . s e r v l e t . h a n d l e r s . S e r v l e t C h a i n $ 1 . h a n d l e R e q u e s t ( S e r v l e t C h a i n . j a v a : 6 8 ) < b r / > a t i o . u n d e r t o w . s e r v l e t @ 2 . 3 . 1 4 . S P 1 - r e d h a t - 0 0 0 0 1 / / i o . u n d e r t o w . s e r v l e t . h a n d l e r s . S e r v l e t D i s p a t c h i n g H a n d l e r . h a n d l e R e q u e s t ( S e r v l e t D i s p a t c h i n g H a n d l e r . j a v a : 3 6 ) < b r / > a t o r g . w i l d f l y . s e c u r i t y . e l y t r o n - w e b . u n d e r t o w - s e r v e r @ 4 . 0 . 1 . F i n a l - r e d h a t - 0 0 0 0 1 / / o r g . w i l d f l y . e l y t r o n . w e b . u n d e r t o w . s e r v e r . E l y t r o n R u n A s H a n d l e r . l a m b d a $ h a n d l e R e q u e s t $ 1 ( E l y t r o n R u n A s H a n d l e r . j a v a : 6 8 ) < b r / > a t o r g . w i l d f l y . s e c u r i t y . e l y t r o n - b a s e @ 2 . 2 . 4 . S P 0 1 - r e d h a t - 0 0 0 0 1 / / o r g . w i l d f l y . s e c u r i t y . a u t h . s e r v e r . F l e x i b l e I d e n t i t y A s s o c i a t i o n . r u n A s F u n c t i o n E x ( F l e x i b l e I d e n t i t y A s s o c i a t i o n . j a v a : 1 0 3 ) < b r / > a t o r g . w i l d f l y . s e c u r i t y . e l y t r o n - b a s e @ 2 . 2 . 4 . S P 0 1 - r e d h a t - 0 0 0 0 1 / / o r g . w i l d f l y . s e c u r i t y . a u t h . s e r v e r . S c o p e d . r u n A s F u n c t i o n E x ( S c o p e d . j a v a : 1 6 1 ) < b r / > a t o r g . w i l d f l y . s e c u r i t y . e l y t r o n - b a s e @ 2 . 2 . 4 . S P 0 1 - r e d h a t - 0 0 0 0 1 / / o r g . w i l d f l y . s e c u r i t y . a u t h . s e r v e r . S c o p e d . r u n A s ( S c o p e d . j a v a : 7 3 ) < b r / > a t o r g . w i l d f l y . s e c u r i t y . e l y t r o n - w e b . u n d e r t o w - s e r v e r @ 4 . 0 . 1 . F i n a l - r e d h a t - 0 0 0 0 1 / / o r g . w i l d f l y . e l y t r o n . w e b . u n d e r t o w . s e r v e r . E l y t r o n R u n A s H a n d l e r . h a n d l e R e q u e s t ( E l y t r o n R u n A s H a n d l e r . j a v a : 6 7 ) < b r / > a t i o . u n d e r t o w . s e r v l e t @ 2 . 3 . 1 4 . S P 1 - r e d h a t - 0 0 0 0 1 / / i o . u n d e r t o w . s e r v l e t . h a n d l e r s . R e d i r e c t D i r H a n d l e r . h a n d l e R e q u e s t ( R e d i r e c t D i r H a n d l e r . j a v a : 6 8 ) < b r / > a t i o . u n d e r t o w . s e r v l e t @ 2 . 3 . 1 4 . S P 1 - r e d h a t - 0 0 0 0 1 / / i o . u n d e r t o w . s e r v l e t . h a n d l e r s . s e c u r i t y . S S L I n f o r m a t i o n A s s o c i a t i o n H a n d l e r . h a n d l e R e q u e s t ( S S L I n f o r m a t i o n A s s o c i a t i o n H a n d l e r . j a v a : 1 1 7 ) < b r / > a t i o . u n d e r t o w . s e r v l e t @ 2 . 3 . 1 4 . S P 1 - r e d h a t - 0 0 0 0 1 / / i o . u n d e r t o w . s e r v l e t . h a n d l e r s . s e c u r i t y . S e r v l e t A u t h e n t i c a t i o n C a l l H a n d l e r . h a n d l e R e q u e s t ( S e r v l e t A u t h e n t i c a t i o n C a l l H a n d l e r . j a v a : 5 7 ) < b r / > a t i o . u n d e r t o w . c o r e @ 2 . 3 . 1 4 . S P 1 - r e d h a t - 0 0 0 0 1 / / i o . u n d e r t o w . s e r v e r . h a n d l e r s . P r e d i c a t e H a n d l e r . h a n d l e R e q u e s t (PredicateHandler.java:43)
at io.undertow.core@2.3.14.SP1-redhat-00001//io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
at io.undertow.servlet@2.3.14.SP1-redhat-00001//io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
at io.undertow.core@2.3.14.SP1-redhat-00001//io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
at org.wildfly.security.elytron-web.undertow-server-servlet@4.0.1.Final-redhat-00001//org.wildfly.elytron.web.undertow.server.servlet.CleanUpHandler.handleRequest(CleanUpHandler.java:38)
at io.undertow.core@2.3.14.SP1-redhat-00001//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at org.wildfly.extension.undertow@8.0.3.GA-redhat-00001//org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
at io.undertow.core@2.3.14.SP1-redhat-00001//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at org.wildfly.extension.undertow@8.0.3.GA-redhat-00001//org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68)
at io.undertow.servlet@2.3.14.SP1-redhat-00001//io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52)
at io.undertow.core@2.3.14.SP1-redhat-00001//io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet@2.3.14.SP1-redhat-00001//io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:276)
at io.undertow.servlet@2.3.14.SP1-redhat-00001//io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:135)
at io.undertow.servlet@2.3.14.SP1-redhat-00001//io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:132)
at io.undertow.servlet@2.3.14.SP1-redhat-00001//io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
at io.undertow.servlet@2.3.14.SP1-redhat-00001//io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
at org.wildfly.extension.undertow@8.0.3.GA-redhat-00001//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1430)
at org.wildfly.extension.undertow@8.0.3.GA-redhat-00001//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1430)
at org.wildfly.extension.undertow@8.0.3.GA-redhat-00001//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1430)
at org.wildfly.extension.undertow@8.0.3.GA-redhat-00001//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1430)
at org.wildfly.extension.undertow@8.0.3.GA-redhat-00001//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1430)
at io.undertow.servlet@2.3.14.SP1-redhat-00001//io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:256)
at io.undertow.servlet@2.3.14.SP1-redhat-00001//io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:101)
at io.undertow.core@2.3.14.SP1-redhat-00001//io.undertow.server.Connectors.executeRootHandler(Connectors.java:393)
at io.undertow.core@2.3.14.SP1-redhat-00001//io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:859)
at org.jboss.threads@2.4.0.Final-redhat-00001//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads@2.4.0.Final-redhat-00001//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
at org.jboss.threads@2.4.0.Final-redhat-00001//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at org.jboss.threads@2.4.0.Final-redhat-00001//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
at org.jboss.xnio@3.8.16.Final-redhat-00001//org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1282)
at java.base/java.lang.Thread.run(Thread.java:840)
Я проверил, могу ли я передать составную конфигурацию через Standalone.xml через , но посмотрел в код, а класс org.wildfly.extension.undertow.JSPConfig не имеет таких полей.
Затем попытался переопределить сервлет jsp с помощью < /code> удален из файла Standalone.xml и внутри файла web.xml с такими записями
Код: Выделить всё
jsp
org.apache.jasper.servlet.JspServlet
1
10485760
20971520
5242880
jsp
*.jsp
jsp
*.jspx
Последней (и моим самым большим разочарованием) была эта часть конфигурации сервлетов:
class io.undertow.servlet.core.ManagedServlet#ManagedServlet в конструкторе вызывает метод setupMultipart. Если составная конфигурация отсутствует в инициализируемом сервлете, он пытается получить ее из некоторых значений по умолчанию
Код: Выделить всё
if(multipartConfig == null) {
multipartConfig = servletContext.getDeployment().getDeploymentInfo().getDefaultMultipartConfig();
}
Что я ожидаю
Передать составную конфигурацию автоматически сгенерированному сервлету JSP.
Подробнее здесь: https://stackoverflow.com/questions/787 ... vlet-on-jb