java - Spring MVC 配置了静态资源后 @Controller 扫描失效
本文介绍了java - Spring MVC 配置了静态资源后 @Controller 扫描失效的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
Spring MVC 配置了静态资源后 @Controller 扫描失效
在springMVC-servet.xml
中加<mvc:resources location="/img/" mapping="/img/**" cache-period="604800"/>
后导致 @Controller失效,访问都是 404
springMVC-servet.xml
代码:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">
<context:annotation-config/>
<context:component-scan base-package="com.junbaor.oauth.controller">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
<!--<mvc:resources location="/img/" mapping="/img/**" cache-period="604800"/> -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="contentType" value="text/html"/>
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>
applicationContext-Beans.xml
代码:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns="http://www.springframework.org/schema/beans" xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
<context:annotation-config/>
<context:component-scan base-package="com.junbaor.oauth">
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
<util:properties id="config" location="classpath:config.properties"/>
</beans>
项目结构:
解决方案
将 springMVC-servet.xml
文件中的 <context:annotation-config/>
换成 <mvc:annotation-driven/>
后解决问题。
这篇关于java - Spring MVC 配置了静态资源后 @Controller 扫描失效的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文