Весна 4.1.2 (4.0.8 и 3.2.12) содержит исправление безопасности SPR-12354, которое предотвращает ResourceHttpRequestHandler
(вещь за <mvc:resources>
) для загрузки файлов извне папки ресурса.Ресурс не найден после весны 4.1.2 Обновление при развертывании с помощью JRebel 6.0.0
С другой стороны: это JRebel (я использую его по умолчанию). И это заставляет JRebel сделать магию для загрузки ресурсов не из папки wtp, а непосредственно из папки «source».
Итак, после обновления с 3.2.11 до 3.2.12 (и другого подобного приложения с 4.0.7 до 4.0.8) Springs ResourceHttpRequestHandler
больше не доставляет файлы ресурсов, которые «поддерживаются» JRebel. Вместо этого он доставляет 404. Причина в том, что Spring сравнивает абсолютный путь к файлу настроенной папки ресурса с абсолютным файловым пути файла, который будет доставлен. Если ResourceHttpRequestHandler
понял, что файл находится за пределами сконфигурированной папки ресурса, он предполагает, что URL-адрес, который использовался для выбора файла, является вредоносным. Поэтому ResourceHttpRequestHandler
и ответ с ресурсом 404 не найдены.
Я ожидаю, что JRebel может быть настроен не на «сохранение» файлов js, png и css, но я не знаю, как это сделать. И вот в чем вопрос: Как настроить JRebel, чтобы приложение Spring MVC (v 4.0.8) все еще поставляло ресурсы с ResourceHttpRequestHandler
?
(Я ожидаю, что почти каждый пользователь JRebel столкнется с этой проблемой после обновления до Spring 4.1.2, 4.0.8 или 3.2.12).
(не поймите меня неправильно, это не вопрос, как манипулировать Spring, чтобы не проверять, что файлы находятся за пределами папки ресурсов конфигурации. Я посмотрел исходный код, и наблюдаемое поведение поведение, предназначенное авторами исправления ошибок. - Этот вопрос касается настройки JRebel)
Спасибо за нижний план. Но, пожалуйста, оставьте комментарий, чтобы я знал, что вам не понравилось, чтобы я мог написать лучший вопрос в следующий раз. – Ralph
У меня такая же проблема, но я не использую JRebel. Я просто обновляюсь с Spring 4.1.0 до 4.1.2, и теперь Ресурсы не работают, возвращая всегда НЕ НАЙДЕНО! Вы можете мне помочь? –
@Beto Neto: напишите новый вопрос о своей проблеме. Вы можете ссылаться на этот вопрос для объяснения Spring Update, но задайте свой собственный вопрос, потому что ответ будет/должен отличаться. – Ralph