Spring 4加载静态资源

我得到了一个Spring MVC应用程序,该应用程序当前在src/main/java/resources/assets目录中放置了一堆CSS和JS文件。

我通读了Spring Docs和一些有关如何使用ResourceHandlerRegistry类为模板加载这些文件的教程。我特别认为本教程中的代码段完全适合我的项目结构。

但是我的资源文件上总是显示404。

这是我当前正在使用的Application / Configuration类:

@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文件已通过我的控制器类正确加载,但是当尝试点击例如我的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>

以上是 Spring 4加载静态资源 的全部内容, 来源链接: utcz.com/qa/412308.html

回到顶部