我是spring boot架构的新手。它说,为了让索引页面找到像js这样的静态资源,我们需要将其保留在“src/main/resources/static”下。
目录结构:
Html文件:src/main/webapp/WEB-INF/jsp/
js文件:src/main/resources/static/js/
这是我的索引页:
<html ng-app="RollbackApp">
<head>
<title>My Rollback View</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.5/angular.js"></script>
<script type="text/javascript" src = "js/app.js"></script>
</head>
<body>
<div ng-controller="rollbackController"><p>
<button ng-click="rollback()">RollBack</button>
</p></div>
</body>
</html>
我的Mvc配置类如下:
package com.manoj;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
/**
* Created by manojma on 10/13/2017.
*/
@Configuration
@EnableWebMvc
public class ApplicationWebMvcConfig extends WebMvcConfigurerAdapter {
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/static/");
}
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/jsp/");
resolver.setSuffix(".html");
return resolver;
}
}
我找不到原因,为什么找不到我的js文件。
请帮帮我。!!
问题是您的资源处理程序配置不正确。您已经将/resources/static/
设置为您的资源位置。但是,考虑到src/main/resources
完全放在类路径上,应该省略/resources
部分。另外,您应该提到您正在查看类路径,因此您可能应该使用classpath://static/
。
@Override
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/static/");
}
此外,您还定义了资源处理程序来转发从/resources/**
开始的请求。这意味着,如果您相对请求js/app.js
,它将不起作用,因为它不会触发资源处理程序。您需要使用资源/js/app.js
:
<script type="text/javascript" src="resources/js/app.js"></script>
但是,如果您的目标是静态地服务某些HTML页面,那么将HTML页面放入src/main/resources/static
文件夹中也会容易得多。Spring boot默认情况下已经将index.html
作为欢迎页面提供,但是可以对其进行自定义。
我在浏览器中得到的是: 我想要的是:
我的问题很简单。我无法在Spring中加载静态资源,下面是我的配置文件。 dispatcher servlet。xml 网状物xml 我已将js和css文件放入/webapp/resources/css和/webapp/resources/js中。 我知道这个问题已经被解决了很多次,但我无法加载静态资源。我得到405浏览器上没有方法错误。 在网上尝试了所有其他解决方案。请告诉我哪里出了问题。对这些
4.1 原生koa2实现静态资源服务器 4.2 koa-static中间件
问题内容: 我得到了一个Spring MVC应用程序,该应用程序当前在目录中放置了一堆CSS和JS文件。 我通读了Spring Docs和一些有关如何使用ResourceHandlerRegistry类为模板加载这些文件的教程。我特别认为本教程中的代码段完全适合我的项目结构。 但是我的资源文件上总是显示404。 这是我当前正在使用的Application / Configuration类: 这是我
动态的 web 应用也需要静态文件,一般是 CSS 和 JavaScript 文件。理想情况下你的 服务器已经配置好了为你的提供静态文件的服务。在开发过程中, Blade 也能做好这个工作。我们在 resources 目录下创建一个名为 static 的文件夹存储静态资源文件,静态文件位于 应用的 /static 中。 Blade 默认设置了 static、assets、webjars、uploa
每个网站都需要静态资源:图片、样式表、网站图标(favicon)等。在这种情况下,您可以在项目的根目录下创建一个名为 static 的目录。 放入 该目录中的每个文件都将被复制到 生成的 build 文件夹中,并保留目录的层级结构。例如,如果您将名为 sun.jpg 的文件添加到 static 文件夹中,则该文件将被复制到 build/sun.jpg 路径。 这意味着: 对于 baseUrl: '