스프링 부트 필터 관련 서버 오류 해결 방법 - eunja511005/Tutorial GitHub Wiki

스프링 부트 필터 설정

- 필터에서 직접 의존성 주입 받으면 안됨
- 예상은 필터가 생성되는 시점에 해당 주입 받고자 하는 빈이 생성 되기 전인거 같음
- 필터 Configuration 파일에서 의존성을 넣어 주면 잘 들어감
  1. 필터 관련 설정은 MyFilterConfiguration.java에서 전담
  2. 필터 생성시 필요한 의존성 주입도 MyFilterConfiguration.java에서 필터 생성자 파라미터 전달

image

아래 오류 발생시 필터 클래스에 오버라이드 추가 해 줌

 starting filter [XssFilter]
        java.lang.AbstractMethodError
                at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:272)
                at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:104)
                at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4343)
                at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4976)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:711)
                at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:688)
                at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:661)
                at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1016)
                at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1903)
                at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
                at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                at java.lang.Thread.run(Thread.java:750)

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        // Do nothing
    }

    @Override
    public void destroy() {
        // Do nothing
    }
⚠️ **GitHub.com Fallback** ⚠️