目的:

Web前端使用了越来越多的JS或CSS,如jQuery,Backbone.js和Bootstrap。一般情况下,我们是将这些Web资源拷贝到Java Web项目的webapp相应目录下进行管理。这种通过人工方式管理可能会产生版本误差,拷贝版本错误,漏拷等现象,导致前端页面无法正确展示,版本不一致,文件混乱等,导致出现一些莫名其妙的错误等。

使用方法:

1.引入maven依赖

        <dependency>
            <groupId>org.webjars.bower</groupId>
            <artifactId>jquery</artifactId>
            <version>3.2.1</version>
        </dependency>

2.增加资源映射,Spring MVC 的入口是 DispatcherServlet,所有的请求都会汇集于该类,而后分发给不同的处理类。如果不做额外的配置,是无法访问静态资源的。

2.1java方式

@Configuration
@EnableWebMvc
public class WebConfig extends WebMvcConfigurerAdapter {

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

}

2.2xml 方式

<mvc:resources mapping="/webjars/**" location="classpath:/META-INF/resources/webjars/"/>

Servlet 3 允许直接访问 WEB-INF/lib 下 jar 中的 /META-INF/resources 目录下的资源。简单来说就是 WEB-INF/lib/{*.jar}/META-INF/resources 下的资源可以被直接访问。

上面的映射可更改为:<mvc:resources mapping="/webjars/**" location="/webjars/"/>

 参考:https://www.webjars.org/documentation#springmvc  https://blog.csdn.net/xichenguan/article/details/52794862

3.引用

<script type='text/javascript' src='webjars/jquery/3.2.1/dist/jquery.min.js'></script>