在搭建springmvc框架时,需要配置web.xml中的字符表编码过滤器
配置如下
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
<init-param>
<param-name>forceRequestEncoding</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>forceResponseEncoding</param-name>
<param-value>true</param-value>
</init-param>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-pattern>/*</filter-pattern>
</filter-mapping>
</filter>
结果报错其中的
CharacterEncodingFilter /* 报错‘cvc-complex-type.2.4.a: Invalid content was found starting with element 'filter-mapping'. One of '{"http://java.sun.com/xml/ns/javaee":init-param}' is expected’后研究得知,错误原因为
根元素中的模式文件不对,
javaee只支持单个的config不支持filter-mapping,要换成 j2ee
即将模式文件
“http://java.sun.com/xml/ns/javaee”
改成
“http://java.sun.com/xml/ns/j2ee”
测试发现不报错。