gpt4 book ai didi

java - Spring 4加载静态资源

转载 作者:技术小花猫 更新时间:2023-10-29 11:29:38 25 4
gpt4 key购买 nike

我有一个 spring MVC 应用程序,其中有一堆 css 和 js 文件当前放在 src/main/java/resources/assets 目录中。

我通读了 Spring 文档和一些教程,了解如何使用 ResourceHandlerRegistry 为我的模板加载这些文件。类(class)。我特别认为 this Tutorial 中的代码片段非常适合我的元素结构。

但我的资源文件总是出现 404。

这是我当前运行的应用程序/配置类:

@Configuration
@EnableAutoConfiguration
@ImportResource("/applicationContext.xml") // only used for jpa/hibernate
@EnableWebMvc
@ComponentScan(basePackages = "at.sustain.docutools.viewer.presentation")
public class Application extends WebMvcConfigurerAdapter {

public static void main(String args[]) {
SpringApplication.run(Application.class);
}

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/assets/**")
.addResourceLocations("classpath:/assets/");
registry.addResourceHandler("/css/**")
.addResourceLocations("/css/");
registry.addResourceHandler("/js/**")
.addResourceLocations("/js/");

}

}

这里是我的 HTML 文件中使用的 HEADer(放置在资源/模板中):

<head>
<!-- local Stylesheet -->
<link href="css/style.css" rel="stylesheet" />
<!-- local Javascript files -->
<script src="js/general.js"></script>
<script src="js/xmlhttp.js"></script>
<!-- local Javascript libraries -->
<script src="js/lib/filter.js"></script>
<script src="js/lib/jquery.fs.zoomer.js"></script>
<script src="js/lib/jquery.validate.js"></script>
</head>

html 文件通过我的 Controller 类正确加载,但是当试图点击例如我的 style.css 文件 (http://localhost:8080/css/style.css) 如前所述,我得到了 404。

我似乎无法找到任何更多资源可以为我提供有关 Spring 4 这个主题的更多信息。我是否遗漏了一些配置文件?还是资源处理程序注册不适合我的结构?我期待着您的回复。

最佳答案

您说您的样式表和 JavaScript 文件位于“/assets”下。我假设您有目录“/assets/css”和“/assets/js”。然后,给定以下资源处理程序定义:

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/assets/**")
.addResourceLocations("classpath:/assets/");
}

您可以像这样在 HTML 中加载这些资源:

<link href="/assets/css/style.css" rel="stylesheet" />
<script src="/assets/js/general.js"></script>

关于java - Spring 4加载静态资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24080025/

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