尝试在 Thymeleaf 和 Spring Security 项目中插入图像时出现 404 错误
Posted
技术标签:
【中文标题】尝试在 Thymeleaf 和 Spring Security 项目中插入图像时出现 404 错误【英文标题】:404 error while trying to insert an image in a Thymeleaf and Spring Security project 【发布时间】:2018-01-18 01:27:26 【问题描述】:我真的需要帮助。
这是我的项目结构,我正在尝试将图片插入到我的页面中,如下所示:
<div class="modal-header" align="center">
<img class="img-circle" id="img_logo" src="../../static/images/asblogo.jpg"
th:src="@/images/asblogo.jpg"/>
</div>
在模板 login.html 中。我的 SecurityConfig 和 WebMvcConfig 如下所示: 在此处输入图片说明
我不知道为什么我仍然收到 404 或 302 错误。
拜托,你能帮帮我吗?我将非常感谢。 谢谢!!!
【问题讨论】:
一个问题:您是否仅在尝试将图像添加到登录页面时才收到此错误?删除 img 标签后会发生什么?你能看到登录页面吗? 【参考方案1】:获取图片资源有多种选择:
方案一:根据自己的配置映射静态资源
转到WebMVCConfig
类并映射您网站的所有静态资源:
重写 addResourceHandlers 方法
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry)
registry.addResourceHandler("/**").addResourceLocations("classpath:/static/");
选项 2:让 Spring 为您映射静态资源
在这种情况下,只需从 WebMVCConfig
类中删除 de @EnableWebMvc
注释
最后img标签应该是这样的:
img 标签:
<img th:src="@/images/yourlogo.jpg" />
修复 404 错误
转到WebMVCConfig
类并修复登录页面的路径。您收到错误是因为 Spring 尝试重定向到 /login
路径,但 WebMVCConfig
类上不存在该路径,而不是 /logout
使用 /login
,如下例所示:
@Override
public void addViewControllers(ViewControllerRegistry registry)
registry.addViewController("/login").setViewName("login");
希望对您有所帮助。
问候。
【讨论】:
非常好。在那种情况下,你能接受这个答案作为解决方案吗?问候以上是关于尝试在 Thymeleaf 和 Spring Security 项目中插入图像时出现 404 错误的主要内容,如果未能解决你的问题,请参考以下文章
使用 spring、thymeleaf 和 mongo 填充 html 选择
在 Spring Boot 应用程序中使用 JSP 和 Thymeleaf 视图
如何使用 Spring Security 和 Thymeleaf 获取当前登录用户的 ID
Thymeleaf 和 Spring 引导以及 Spring 安全性不起作用