CharacterEncodingFilter cannot be cast to javax.servlet.Filter

Posted 那钢绕指柔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CharacterEncodingFilter cannot be cast to javax.servlet.Filter相关的知识,希望对你有一定的参考价值。

java.lang.ClassCastException: org.springframework.web.filter.CharacterEncodingFilter cannot be cast to javax.servlet.Filter
这个问题遇到好几次了,久了又忘记怎么解决的了,特此记录下;

很多文章都说是<artifactId>servlet-api</artifactId> 这个包有冲突,处理之后还是报错;

使用以下代码可以直接找到冲突jar包

public static void main(String[] args) {
   URL url = Filter.class.getProtectionDomain().getCodeSource().getLocation();
   System.out.println("path:"+url.getPath());

    // 运行后打印:path:/D:/MavenRepository/org/apache/tomcat/embed/tomcat-embed-core/8.5.37/tomcat-embed-core-8.5.37.jar

    // 排除该jar包就解决问题了;
}

以上是关于CharacterEncodingFilter cannot be cast to javax.servlet.Filter的主要内容,如果未能解决你的问题,请参考以下文章

CharacterEncodingFilter-Spring字符编码过滤器

Servlet 中 CharacterEncodingFilter 失效?

CharacterEncodingFilter详解

CharacterEncodingFilter 不能与 Spring Security 3.2.0 一起使用

CharacterEncodingFilter详解及源码解析

org.springframework.web.filter.CharacterEncodingFilter 不能转换为 javax.servlet.Filter