gpt4 book ai didi

java - 将 .js、.css 文件提供给 html 模板时出现 spring-boot 404 错误

转载 作者:行者123 更新时间:2023-12-05 08:09:23 54 4
gpt4 key购买 nike

我正在使用 spring boot 并尝试托管使用 angular js 的 HTML 页面。我的文件夹结构是:My Folder Structure

我在 SO 上提到了很多其他问题,甚至在 spring boot 上提到了 spring.io 指南,我的理解是我们应该将 html 模板保存在模板文件夹和所有 .css、图像、.js 文件中在静态文件夹中。我做了同样的事情,但是每当页面加载时,只有 html 被呈现并且浏览器为所有 .css 和 .js 文件获取 404。

我以下列方式在我的 HTML 中包含 .css 和 .js :

<script src="/js/socket.io/socket.io.js"></script>
<script src="/js/moment.min.js"></script>
<script src="/js/demoApp.js"></script>

我尝试了所有组合,例如:src="../static/js/socket.io/socket.io.js"或 src="js/socket.io/socket.io.js"但我总是在浏览器中收到这些文件的 404。

我检查了 spring boot 日志,它是这样说的:

2016-07-24 21:08:05 WARN  PageNotFound:1139 - No mapping found for HTTP request with URI [/js/demoApp.js] in DispatcherServlet with name 'dispatcherServlet'
2016-07-24 21:08:05 DEBUG DispatcherServlet:997 - Successfully completed request

我无法理解如何解决这个问题,请帮忙!!!

注意:我没有编写 View 解析器代码,因为根据我的理解,spring boot 会自动从静态文件夹中获取静态内容。如果我错了,请纠正我。

编辑:添加我的 pom 文件:

    <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.5.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j</artifactId>
</dependency>
<!--Alexa Dependencies -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.directory.studio</groupId>
<artifactId>org.apache.commons.io</artifactId>
<version>2.4</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.amazon.alexa</groupId>
<artifactId>alexa-skills-kit</artifactId>
<version>1.1</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-lambda-java-core</artifactId>
<version>1.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-dynamodb</artifactId>
<version>1.9.40</version>
</dependency>

</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<verbose>true</verbose>
<source>1.8</source>
<target>1.8</target>
<showWarnings>true</showWarnings>
</configuration>
</plugin>
</plugins>
</build>

最佳答案

我看到你正在使用 thymeleaf,所以尝试像这样访问你的资源:

<script th:src="@{/js/socket.io/socket.io.js}"></script>
<script th:src="@{/js/moment.min.js}"></script>
<script th:src="@{/js/demoApp.js}"></script>

此外,如果这不起作用,您可以添加您的 index.html。

关于java - 将 .js、.css 文件提供给 html 模板时出现 spring-boot 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38553929/

54 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com