与Spring配置类的静态资源(Static resources with Spring confi

2019-10-29 03:28发布

我的JSP加载速度快如CSS和JS文件的一些其他文件一样,几乎所有的网站,像这样做:

<script src="js/dhtmlx/dhtmlx.js"></script>

现在的问题是,春天要请求分派,并没有找到它正确的处理,这是正确的。 我想在我的配置级以下几点:

@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/js/**").addResourceLocations("/js/");
}

这是不工作的,春天还是想请求分派:

org.springframework.web.servlet.PageNotFound noHandlerFound
WARNING: No mapping found for HTTP request with URI [...URI/js/dhtmlx/dhtmlx.css] in DispatcherServlet with name 'keza'

我怎么能告诉春天,这是不是该框架应与调度的DispatcherServlet的请求?

Answer 1:

确保你的JS文件夹是在src \主\ web应用程序\资源可用



Answer 2:

1.采用MVC资源

<mvc:resources mapping="/resources/**" location="/public-resources/"/>

这使得投放任何静态内容,其位置可以被指定为一个Spring 资源

2.使用MVC:默认的servlet处理程序:

<mvc:default-servlet-handler />

这提供了一种以服务出从即使调度的Servlet在注册的Web应用程序根目录下的静态内容/,如何Spring并不是说这是可以在Spring文档网站这里的细节 - 在短暂的责任委托给容器默认的servlet。

使用Spring注解MVC资源

@Configuration  
@EnableWebMvc  
public class WebAppConfig extends WebMvcConfigurerAdapter {  

        @Override  
        public void addResourceHandlers(ResourceHandlerRegistry registry) {  
                registry.addResourceHandler("/resources/**").addResourceLocations("/public-resources/");  
        }  
}


文章来源: Static resources with Spring configuration-class