解決:Tomcat啓動報錯:java.lang.ClassCastException: xxxFilter cannot be cast to javax.servlet.Filter

Tomcat啓動報錯:java.lang.ClassCastException: xxx.Filter cannot be cast to javax.servlet.Filter如下:

26-Apr-2020 09:38:33.269 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.filterStart Exception starting filter [xssFilter]
        java.lang.ClassCastException: xxx.filter.XssFilter cannot be cast to javax.servlet.Filter
                at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
                at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:106)
                at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4548)
                at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5193)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743)
                at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719)
                at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
                at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:970)
                at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1841)
                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:1142)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
                at java.lang.Thread.run(Thread.java:748)

解決方案:
1.web.xml中進行Servlet的映射配置,與Servlet中用註解配置映射 不能共存(二選一)
2.我的是filter包導入錯誤導致

//import cn.hutool.core.lang.Filter; //導入錯誤(快捷鍵誤導入)
import javax.servlet.Filter;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章