Eclipse Dynamic Web Module 3.0 requires Java 1.6 or newer && Filter mapping specifies an unknown filter name characterEncodingFilter

一直在宇宙最强的 IDE 下生长的,自然很难习惯 eclipse 这种开源且免费且各种版本且各种定制的 IDE 下没有少吃苦头。

最近用 maven 搭建了一个 springmvc/mybatis 的项目,过程中坎坎坷坷,看似很低级的错误,但是就是无法搞定他。

好难为情!

一、环境

  最后在准备放弃的时候,无意中看到这个神奇的配置,eclipse 博大精深。

  1、设置项目 jdk 版本;

  2、设置 jdk 编译版本;

  3、设置 pom.xml build 节点;(神奇的 eclipse 默认非要搞成 1.6 怎么也找不到设置入口)

<project>
    <build>
        <finalName>向世界问个好!</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

二、配置拦截器的低级错误  

  

  Eclipse 的错误要耐心慢慢看:

    Failed to start component      // 组件启动失败了

    Filter mapping specifies an unknown filter name characterEncodingFilter

      // filter 过滤器,映射指定筛选器 characterEncodingFilter 错误。

  解决方法:

    慢慢读懂这些英文,大体可以猜到是哪里的错误了。

    检查 web.xml 的过滤器节点,是否有错;    

    <filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter
        </filter-class>
        <async-supported>true</async-supported>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
    </filter>

    name 重复了,呵呵! 折腾了这么久惭愧。

原文地址:https://www.cnblogs.com/loongsoft/p/7458428.html