Spring Boot игнорирует CSS / JS при загрузке страницы

118
12 июля 2021, 00:40

Моя страница (order.mustache) использует несколько стилей CSS (внешних и локальных), изображения, фоновое видео и JS-элемент. БОльшая часть оформления страницы описана в style.css, который располагается в директории "resourses/static/css".

При запуске страницы через Chrome как HTML-документ - она отображается корректно. Но если я запускаю её через Spring Boot (как mustache-страницу) - все локальные стили, изображения, JS и даже youtube-видео игнорируются.

Консоль браузера указывает на ошибку "Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://localhost:8080/static/css/style.css"." На вкладке Response панели разработчика Chrome style.css отображается, как копия страницы order.mustache. На вкладке Headers её тип - text/html.

Я не могу понять, на каком моменте происходят эти изменения, и что мне поменять, чтобы страница заработала полноценно.

HTML:

<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<title>...</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">
<link href="../static/css/style.css" type="text/css" rel="stylesheet">
<link href='http://fonts.googleapis.com/css?family=Roboto:400,300,100,500,700,900' rel='stylesheet' type="text/css">
<link href="http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet" type="text/css">
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
</head>

Controller:

@GetMapping
public String main(Map<String, Object> model) {
    Iterable<Client> clients = repo.findAll();
    model.put("clients", clients);
    return "order";
}
@PostMapping
public String add(@RequestParam String firstName, @RequestParam String lastName, @RequestParam String nationality,
                  @RequestParam String sex, @RequestParam(name = "birthDate") @DateTimeFormat(pattern = "yyyy-MM-dd")
                              Date birthDate, @RequestParam long passNumber, Map<String, Object> model) {
    Client client = new Client(firstName, lastName, nationality, sex, birthDate, passNumber);
    repo.save(client);
    Iterable<Client> clients = repo.findAll();
    model.put("clients", client);
    return "order";
}

Main:

@SpringBootApplication
public class Application {
public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
}
@Bean
public ViewResolver getViewResolver(ResourceLoader resourceLoader) {
    MustacheViewResolver mustacheViewResolver
            = new MustacheViewResolver();
    mustacheViewResolver.setPrefix("templates/");
    mustacheViewResolver.setSuffix(".mustache");
    mustacheViewResolver.setCache(false);
    return mustacheViewResolver;
}
Answer 1

Скорее всего достаточно будет объявить css так - href="/css/style.css", то же касается и остальных ресурсов

READ ALSO
Как использовать rxjava для передачи сообщений?

Как использовать rxjava для передачи сообщений?

У меня есть поток который принимает посылки по UART

95
Пересоздаётся файл

Пересоздаётся файл

Только часть кода для смысла

91
Как можно обфусцировать C код через NDK?

Как можно обфусцировать C код через NDK?

Как можно обфусцировать Си код через ndk, или как вообще это сделать

91
StackOverflowError

StackOverflowError

данный код выдает вот такую ошибку:

113