μΌλ°μ μΈ μλΈλ¦Ώ μ ν리μΌμ΄μ
μμλ web.xml μ ν΅ν΄μ νν°λ₯Ό μ€μ νλ€. μλΈλ¦Ώ νν° μ€μ λ°©λ²
<filter>
<filter-name>νν° μ΄λ¦</filter-name>
<filter-class>νν° ν΄λμ€</filter-class>
</filter>
<filter-mapping>
<filter-name>νν° μ΄λ¦</filter-name>
<url-pattern>νν°λ₯Ό μ μ©ν URL</url-pattern>
</filter-mapping>μ€νλ§ λΆνΈμλ λμ΄μ web.xml μ μ¬μ©νμ§ μλλ€. κ·Έλ¬λ―λ‘ νν°λ₯Ό μ€μ νλ λ°©λ²λ μλ° μ€μ μ ν΅ν΄ μ€μ ν΄μ€μΌνλ€.
μ€νλ§ λΆνΈμμ νν°λ₯Ό μ€μ νλ λ°©λ²μ λ κ°μ§μ΄λ€.
FilterRegistrationBeanμ μ΄μ©νλ λ°©λ²- μ€νλ§ λΆνΈ λ΄μ₯ 컨ν
μ΄λ(ν°μΊ£)μ΄ μ§μνλ
@WebServlet,@WebFilter,@WebListenerμ μΈν΄μ μλ λ±λ‘ ν@ServletComponentScanλ‘ μ΄μ©νλ λ°©λ²
org.springframework.boot.web.servlet μ FilterRegistrationBean μ μ¬μ©νμ¬ νν° ν΄λμ€λ₯Ό μ€μ νμΌμ λΉμΌλ‘ λ±λ‘νλ λ°©μ.
public class TestFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("Test Filter Init()");
}
@Override
public void destroy() {
System.out.println("Test Filter Destory()");
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("request - Test Filter doFilter()");
filterChain.doFilter(servletRequest, servletResponse);
System.out.println("response - Test Filter doFilter()");
}
}@Configuration
public class WebConfig {
@Bean
public FilterRegistrationBean getFilterRegistrationBean(){
FilterRegistrationBean registrationBean = new FilterRegistrationBean(new TestFilter());
// registrationBean.setUrlPatterns(Arrays.asList("/article/*"));
registrationBean.addUrlPatterns("/test");
return registrationBean;
}
}μ€νλ§λΆνΈμμ μ§μνλ @WebFilter λ₯Ό μ¬μ©νμ¬ μλ λ±λ‘ν @ServletComponentScan μΌλ‘ μ¬μ©νλ λ°©μ
@WebFilter(urlPatterns = "/test")
public class TestFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("Test Filter Init()");
}
@Override
public void destroy() {
System.out.println("Test Filter Destory()");
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("request - Test Filter doFilter()");
filterChain.doFilter(servletRequest, servletResponse);
System.out.println("response - Test Filter doFilter()");
}
}@SpringBootApplication
@ServletComponentScan // μλΈλ¦Ώμ»΄ν¬λνΈμ€μΊ μΆκ°!
public class Application {
public static void main(String[] args) {
Application.run(Application.class, args);
}
}