Spring 静态内容(css)未正确提供(spring 启动)
Spring static content(css) not served properly (spring boot)
我有一个 spring 启动应用程序和一个服务器静态网页的控制器(React 构建):
@Controller
@RequestMapping("/test")
public class HomeController {
@GetMapping("/")
public String index() {
return "index.html";
}
...
index.html 位于:../resources/static/index.html
也在application.yml:
spring:
mvc:
static-path-pattern: /test/**
我有两个问题(问题 2 是主要问题):
我必须调用以下 url 并在末尾添加尾随“/”:http://localhost:8100/test/ I would like for http://localhost:8100/test 以将我也映射到视图 (index.html)。
在页面加载过程中出现以下错误:
如您所见,问题是调用的 url 是:
http://localhost:8100/static/css/main.6c417d20.chunk.css
而不是
http://localhost:8100/test/static/css/main.6c417d20.chunk.css
(请注意,url中出现'static'的原因是resources/static文件夹下有一个名为:static的文件夹,所以[=没有问题=51=] 在 url)
这是服务器端问题还是我应该在反应中修复的问题?
我搜索了答案,但没有找到任何有用的信息。
如有任何帮助,我们将不胜感激,
发送
答案 1:@RequestMapping
有一个 String[] 值参数,所以可以像这样指定多个值:
@RequestMapping(value={"", "/", "welcome"})
答案 2:您期望 URL 中的 test
是控制器映射而不是项目上下文路径,因此它不应出现在静态资源 URL 中。
请参阅 以更清楚地在 spring 引导中添加 css 和 js。
所以我的问题的答案在于以下 links:
如何构建对非根路径的反应(主页):
build react non root path
正在将 zuul 客户端注册到以下路径(包含所有资源):
所以我把它留在这里以防有人有同样的问题(第二个 link 的答案是针对 vue.js 和 webpack,第一个 link 解释了如何改变反应中的根地址)。
我有一个 spring 启动应用程序和一个服务器静态网页的控制器(React 构建):
@Controller
@RequestMapping("/test")
public class HomeController {
@GetMapping("/")
public String index() {
return "index.html";
}
...
index.html 位于:../resources/static/index.html
也在application.yml:
spring:
mvc:
static-path-pattern: /test/**
我有两个问题(问题 2 是主要问题):
我必须调用以下 url 并在末尾添加尾随“/”:http://localhost:8100/test/ I would like for http://localhost:8100/test 以将我也映射到视图 (index.html)。
在页面加载过程中出现以下错误:
如您所见,问题是调用的 url 是: http://localhost:8100/static/css/main.6c417d20.chunk.css
而不是
http://localhost:8100/test/static/css/main.6c417d20.chunk.css
(请注意,url中出现'static'的原因是resources/static文件夹下有一个名为:static的文件夹,所以[=没有问题=51=] 在 url)
这是服务器端问题还是我应该在反应中修复的问题?
我搜索了答案,但没有找到任何有用的信息。
如有任何帮助,我们将不胜感激, 发送
答案 1:@RequestMapping
有一个 String[] 值参数,所以可以像这样指定多个值:
@RequestMapping(value={"", "/", "welcome"})
答案 2:您期望 URL 中的 test
是控制器映射而不是项目上下文路径,因此它不应出现在静态资源 URL 中。
请参阅
所以我的问题的答案在于以下 links:
如何构建对非根路径的反应(主页):
build react non root path
正在将 zuul 客户端注册到以下路径(包含所有资源):
所以我把它留在这里以防有人有同样的问题(第二个 link 的答案是针对 vue.js 和 webpack,第一个 link 解释了如何改变反应中的根地址)。