springMVC找不到静态资源

在练习springMVC的项目中使用jquery,放在了src\main\resources\assets\js中,Java配置类重写addResourceHandlers方法如下:

@Configuration
@ComponentScan("com.wqy.springmvc.controllers")
@MapperScan("com.wqy.springmvc.mappers")
public class MyConfig extends WebMvcConfigurationSupport {
    ......
    @Bean
    public InternalResourceViewResolver viewResolver() {
        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
        viewResolver.setPrefix("/WEB-INF/classes/views/");
        viewResolver.setSuffix(".jsp");
//        viewResolver.setViewClass(JstlView.class);
        return viewResolver;
    }

    @Override
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/assets/**").addResourceLocations("classpath:/assets");
    }
    ......
}

在jsp页面中引用该js

<script src="/assets/js/jquery-3.3.1.min.js"></script>

这里要注意,引用js文件的script标签一定要用<script ...></script>,不能使用<script ... />,否则无法找到文件。

试了很久,发现addResourceLocations("classpath:/assets");需要在assets后面加上一个'/'符号。

registry.addResourceHandler("/assets/**").addResourceLocations("classpath:/assets/");

猜你喜欢

转载自my.oschina.net/wuqingyi/blog/1793937
今日推荐