【问题标题】:Problems with including Bootstrap to SpringMVC project via WebJars通过 WebJars 将 Bootstrap 包含到 SpringMVC 项目的问题
【发布时间】:2014-01-23 07:41:41
【问题描述】:

我尝试在我的 SpringMVC 项目中使用 Bootstrap: link to GitHub repo

很遗憾,CSS 文件不可见。浏览器在控制台中抛出如下错误:

GET http://localhost:8080/finager/webjars/jquery/2.0.3/jquery.js 404 (Not Found)

我认为 pom.xml 具有正确的配置,因为我能够在 Java 资源 -> 库 -> Maven 依赖项下查看 Eclipse 中包含的 WebJars(Bootstrap 和 JQuery)。我还在 servlet-context.xml 中设置了这样的路径(最后一行):

<!-- Handles HTTP GET requests for /resources/** by efficiently serving up static resources in the ${webappRoot}/resources directory -->
<resources mapping="/resources/**" location="/resources/" />
<resources mapping="/webjars/**" location="/META-INF/resources/webjars/"/>

我认为这行是正确的,因为 Tomcat 不再说它不知道如何处理以 '/webjars/ 开头的请求。我找到的所有教程都只列出了这些步骤,我在 Internet 上找不到任何有用的信息。我已经花了一整天的时间,因为我是 Spring development 的新手,所以任何帮助都将不胜感激。提前致谢!

【问题讨论】:

    标签: java eclipse maven twitter-bootstrap spring-mvc


    【解决方案1】:

    如果您使用的是 spring boot,它会自动检查 WebMvcAutoConfiguration 类

    https://github.com/spring-projects/spring-boot/blob/master/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/WebMvcAutoConfiguration.java

        private static final String[] CLASSPATH_RESOURCE_LOCATIONS = {
            "classpath:/META-INF/resources/", "classpath:/resources/",
            "classpath:/static/", "classpath:/public/" };
    

    【讨论】:

      【解决方案2】:

      以这种方式指定位置将为您解决问题(注意classpath:):

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

      此外,您的路径中似乎有 jquery 1.8.2,因此 url 应遵循以下几行:

      http://localhost:8080/finager/webjars/jquery/1.8.2/jquery.js
      

      这是一个很好的参考 - https://spring.io/blog/2014/01/03/utilizing-webjars-in-spring-boot

      【讨论】:

      • 这和检查 Bootstrap 版本解决了这个问题!谢谢!
      • 使用Spring Boot构建Spring MVC应用时,Spring Boot会自动为你添加“/webjars/**”资源配置。
      • 可以通过代码添加:registry.addResourceHandler("/webjars/**") .addResourceLocations("classpath:/META-INF/resources/webjars/") .setCachePeriod(604800);
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多