目的:
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>