【问题标题】:Spring Boot 2.0 Static content not using context pathSpring Boot 2.0 静态内容不使用上下文路径
【发布时间】:2018-10-01 08:20:26
【问题描述】:

我有一个 Spring Boot 2.0 应用程序,我正在尝试将其部署为 WAR 文件。这意味着它将具有自定义上下文路径。为了测试我添加的 Java 应用程序

server.servlet.context-path=/MyApplication

到 application.properties。在我的 index.html(位于 src/main/resources/static)中,我尝试使用类似这样的方式包含 Javascript:

<script src="dist/main.js"</script>

无论我是否使用上下文路径,它总是尝试从http://localhost:8080/dist/main.js 加载文件,完全忽略我指定的上下文路径。如果我尝试将我的应用程序部署为 WAR,情况也是如此。该文件确实位于http://localhost:8080/MyApplication/dist/main.js

我需要在我的配置中进行哪些更改以使 Spring Boot 在提供静态内容时使用上下文路径?

【问题讨论】:

    标签: spring spring-boot war contextpath


    【解决方案1】:

    我刚刚想通了。在我的 index.html 中,我设置了一个基本的 href:

    <base href="/">
    

    我将 index.html 转换为 JSP 并使用 JSP 标签设置基本 href:

    <base href='<c:url value="/" />'>
    

    【讨论】:

      【解决方案2】:

      将index.html中的&lt;base href="/"&gt;修改为如下,

      &lt;base href="./"&gt;

      这将尝试从指定的上下文路径加载所有脚本,并为我解决了问题。

      【讨论】:

        猜你喜欢
        • 2016-12-11
        • 2018-08-17
        • 2020-01-20
        • 2018-05-17
        • 2018-02-10
        • 1970-01-01
        • 1970-01-01
        • 2019-07-20
        • 2019-08-22
        相关资源
        最近更新 更多