반응형
spring boot web filter 예제
Spring Boot에는 바람둥이가 내장되어 있습니다. web.xml
필터를 추가하기 위해 편집 할 수 없습니다 . 이 페이지에서는 Spring Boot없이 필터를 추가하는 방법을 보여줄 것 web.xml
입니다. WebFilter
필터를 추가 하기 위해 주석을 사용 합니다. 이 주석을 추가 한 후에 ServletComponentScan
는 Spring Boot가이 필터를 찾도록 주석을 추가해야합니다 .
다음은 완전한 코드입니다.
@SpringBootApplication
@ServletComponentScan(basePackages = "com.henryxi.filter")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
@WebFilter(filterName = "myFilter",urlPatterns = "/filter")
public class MyFilter implements Filter {
public void init(FilterConfig filterConfig) throws ServletException {
}
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
PrintWriter writer = servletResponse.getWriter();
writer.print("this is filter");
servletResponse.setContentType("text/html;charset=UTF-8");
}
public void destroy() {
}
}
@Controller
public class MyController {
@ResponseBody
@RequestMapping("/**")
public String anyRequest(){
return "this is available page.";
}
}
요청 localhost:8080/filter
이 메시지 "this is filter"라는 로그를 볼 수 있습니다.
"fitler"가아닌 다른 URL요청은 단지 "this is available page."라는 메시지만 볼 것입니다.
점을 유의 WebFilter
주석이 스프링 주석이 아닙니다. 그것은에 javax.servlet.annotation
패키지로 제공된다. embed tomcat을 사용하지 않으면이 주석을 사용하여 필터를 추가 할 수도 있습니다. 서블릿 컨테이너는이 주석을 처리합니다. 이 주석을 추가하면 web.xml 파일에서 필터를 선언하는 것과 동일한 효과가 있습니다.
반응형
'Spring' 카테고리의 다른 글
Spring Batch Tasklet, Chunks 차이 및 예제 (0) | 2020.06.24 |
---|---|
Spring Boot 란 (0) | 2020.06.22 |
Spring, Spring boot mybatis 예제 (0) | 2020.06.21 |
Spring boot interceptor 예제 (0) | 2020.06.17 |
스프링 Boot에서 PDF 출력하기 (0) | 2020.06.17 |