转载请注明出处:http://blog.csdn.net/jevonsCSDN/article/details/60577714 【Jevons’Blog】
异常信息:
DEBUG [localhost-startStop-1] - Original ConversionService attempt
failed - ignored since PropertyEditor based conversion eventually
succeeded org.springframework.core.convert.ConversionFailedException:
Failed to convert from typejava.util.ArrayList<?>
to type
java.util.List<org.springframework.core.io.Resource>
for value
‘[/js/]’; nested exception is
org.springframework.core.convert.ConverterNotFoundException: No
converter found capable of converting from type java.lang.String to
type org.springframework.core.io.Resource
案发现场:
配置了静态资源处理
<!-- 静态资源的解析 包括:js、css、img。。。 -->
<mvc:resources location="/js/" mapping="/js/**" />
同时又配置了日期转换器:
<mvc:annotation-driven conversion-service="conversionService"
validator="validator"></mvc:annotation-driven>
<!-- 自定义参数绑定 -->
<bean id="conversionService"
class="org.springframework.format.support.FormattingConversionServiceFact oryBean">
<!-- 转换器 -->
<property name="converters">
<!-- 日期类型的转换 -->
<list>
<bean class="cn.itcast.ssm.controller.converter.CustomDateConverter"> </bean>
</list>
</property>
</bean>
分析:自定义参数绑定中bean的id冲突,因为mvc:resources 的location属性值在新旧版本解析是不同的,新版本需要将String[]类型的location转成ArrayList类型,需要依赖ConversionService接口,而自定义参数绑定的id又恰好命名为conversionService,所以id相同覆盖掉了,会在控制台报异常(目前所遇并不影响正常功能)。
异常处理:
方法1:修改自定义参数绑定的id(非conversionService即可)。
(spring3.0之前可以使用)
方法2:(spring3.0之后建议使用)
处理静态资源用<mvc:default-servlet-handler/>
代替 <mvc:resources location="/js/" mapping="/js/**" />
方法3: web.xml里添加如下的配置
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.gif</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.jpg</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
【相关资料】http://www.cnblogs.com/LiuChunfu/p/5571600.html
http://blog.csdn.net/u012345283/article/details/43835763#comments
http://www.cnblogs.com/hujingwei/p/5349983.html