java - Spring MVC 配置了静态资源后 @Controller 扫描失效

查看:139
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆