css – Springboot – 资源解释为样式表,但使用MIME类型text/htm进行传输

前端之家收集整理的这篇文章主要介绍了css – Springboot – 资源解释为样式表,但使用MIME类型text/htm进行传输前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我之前看到了这个问题的一些答案,但我尝试过的解决方案都没有.

我的login.css没有应用于我的Spring Boot应用程序中的login.html.我也在使用Thymeleaf.

安全性已打开 – 但我不认为这是浏览器中的问题.我没有看到加载login.css失败 – 只有消息:

Resource interpreted as Stylesheet but transferred with MIME type text/html:

浏览器中的进一步检查显示它正在请求text / css,但是获取text / html响应.

html:

<!doctype html>
<html xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity4">

<head>

<Meta charset="utf-8"/>
<Meta http-equiv="X-UA-Compatiable" content="IE-Edge"/>
<Meta name="viewport" content="width=device-width,initial-scale=1"/>
<Meta name="Login"/>


<title>LOGIN</title>

<!-- Latest compiled and minified CSS -->

....
<link rel="stylesheet" href="login.css" content-type="text/css"/>

login.html的路径

\src\main\resources\templates\login.html

login.css的路径

\src\main\resources\static\login.css

以防万一这是一个权限问题,我把:

.antMatchers("/css/**").permitAll()

我注意到通过CDN提供的所有CSS都没有问题.浏览器也返回带有302状态代码的login.css.

谢谢

解决方法

在使用Spring Boot Spring MVC编写一些代码时,我遇到了完全相同的问题.使用CDN设置的CSS文件工作正常,而我的static / css文件夹中设置的CSS文件返回了HTML内容.

例:

<!-- This first worked fine,loading all styles -->
<link th:href="@{/webjars/bootstrap/3.3.7/css/bootstrap.min.css}"
      href="http://cdn.jsdelivr.net/webjars/bootstrap/3.3.7/css/bootstrap.min.css"
      rel="stylesheet" media="screen" />

<!-- This second one returned the content of an HTML - Content Type text/html -->
<link rel="stylesheet" th:href="@{/css/login/style.css}" href="/css/login/style.css" />

过了一段时间,我可以看到使用Chrome Dev Tools,为我的本地style.css返回的内容与我的一个HTML页面相同.

检查指向带有该内容的HTML文件的路由,我可以意识到我正在使用错误属性进行@RequestMapping配置.我有@RequestMapping(name =“…”),而不是@RequestMapping(path =“…”).

控制器有问题

@RequestMapping(name = "/product/add",method = RequestMethod.GET)
public String add(Model model) {
    model.addAttribute("product",new Product());
    return "product/edit";
}

控制器改变了

@RequestMapping(path = "/product/add",new Product());

    return "product/edit";
}

更改路径的属性名称后,所有内容都已正确加载.

奇怪的是,像这样的小错误影响了整个程序.

希望它对某个面临同样问题的人有用.

猜你在找的Springboot相关文章