Перехватчик Spring против фильтра сервлета

Какие преимущества имеет перехватчик Spring по сравнению с фильтром сервлетов?


person z12345    schedule 20.01.2012    source источник
comment
возможный дубликат Spring HandlerInterceptor vs Filters   -  person skaffman    schedule 20.01.2012
comment
@skaffman: Посмотрев на это сейчас, я согласен, но здесь ответ более четкий и краткий.   -  person z12345    schedule 20.01.2012


Ответы (1)


  • Вы можете вводить другие бобы в перехватчик
  • Вы можете использовать более продвинутые шаблоны сопоставления (стиль муравья)
  • У вас есть целевой объект-обработчик (контроллер), а также результат ModelAndView
  • Это bean-компонент, поэтому вы можете использовать с ним АОП (хотя это будет редко)
person Bozho    schedule 20.01.2012
comment
Вы можете внедрить другие компоненты в фильтр, если используете DelegatingFilterProxy. - person sourcedelica; 20.01.2012
comment
истинный. С этим фильтром ваши фильтры - обычные бобы - person Bozho; 20.01.2012
comment
Вы можете заставить перехватчик стрелять для всех контроллеров? - person Blankman; 27.03.2012
comment
так что вы просто добавляете свой перехватчик в список для SimpleUrlHandlerMapping, вам не нужно иметь раздел сопоставлений xml? - person Blankman; 27.03.2012
comment
Можно ли исключить его для определенных путей, например для статических ресурсов? скажем, исключить все URL-адреса, начинающиеся с /images/ - person Blankman; 28.03.2012
comment
это нехорошо, потому что теперь мой перехватчик срабатывает для каждого загружаемого изображения (я хочу, чтобы перехватчик запускался для каждого контроллера, я не хочу перечислять все контроллеры для запуска перехватчика). - person Blankman; 28.03.2012
comment
как только вы сразу вернетесь из перехватчика в случае изображения, это не большой оверхед. - person Bozho; 29.03.2012
comment
если их 10 изображений на странице. но в любом случае изображения не должны обслуживаться tomcat... но для разработки раздражает видеть так много сообщений журнала... - person Blankman; 29.03.2012
comment
Еще одним преимуществом Interceptors является то, что есть 3 возможности действовать: 1) перед контроллером, 2) после контроллера/перед представлением и 3) после представления. Фильтр сервлетов имеет только до и после. - person Stewart; 14.06.2012