#java #xml #spring #servlets #servlet-filters
Вопрос:
Мне нужно использовать сторонний фильтр в моем приложении. Я использую внешние банки(см. Инструкции по импорту в коде) для этого фильтра. Добавлены зависимости для банки с фильтром в pom.xml. Теперь я хочу вызвать этот фильтр, однако не уверен, как я могу это сделать с помощью конфигурации xml. У меня есть правильный эквивалентный код springboot для применения этого фильтра.
(В моем проекте используются сервлеты spring (но без весенней загрузки), но я все равно попытался добавить приведенный ниже код, добавив зависимость от весенней загрузки, но фильтр не работает) Может ли кто-нибудь помочь мне с xml-эквивалентом приведенного ниже кода?
package com.dd.demo;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import javax.servlet.Filter;
import javax.servlet.ServletException;
import com.ext.auth.Access; //this is external jar class
import com.ext.auth.filter.AuthFilter; //this is external jar class
@Configuration
@ComponentScan(basePackages = "com.dd.demo")
public class AuthConfig {
@Bean
public Access access() {
Access access = new Access(new String[]{"path=C:/Users/config.properties"});
return access;
}
@Bean(name = "authFilter")
public Filter authFilter() throws ServletException {
return new AuthFilter(true,access());
}
@Bean
public FilterRegistrationBean authFilterRegistration() throws ServletException {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(authFilter());
registration.addUrlPatterns("/*");
registration.setOrder(0);
return registration;
}
} ```
Комментарии:
1. Регистрация фильтра java-кода Spring также может регистрировать фильтр из «внешних» банок.