springboot项目访问不了 static文件夹里的静态页面

本文探讨了在SpringBoot项目中,仅引入spring-boot-starter-web时,无法直接访问src/main/resources下static文件夹的问题。作者发现必须额外导入Spring-boot-starter-thymeleaf才能实现对静态资源的访问,揭示了自动配置的细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个Springboot项目只导入了 spring-boot-starter-web 然后试图访问 src/main/resources 下的 static文件夹

发现访问不了,之前记得看书上说可以访问,自动配置已经配置过了,  

后来发现 必须要导入Spring-boot-starter-thymeleaf 才可以访问,这个自动配置文件是在这个starter里配置的。

转载于:https://my.oschina.net/u/3018126/blog/3060793

### Spring Boot 项目中的 Vue 文件夹作用 在集成Spring Boot 和 Vue 的项目结构中,Vue 文件夹通常位于项目的前端部分。此文件夹包含了所有的 Vue 组件、静态资源以及构建配置等[^1]。 对于前后端分离架构而言,在开发阶段,Vue 应用程序独立于后端运行,并通过 API 接口与后端交互;而在生产环境中,则需要将打包后的前端资源部署至服务器上供访问。因此,`src/main/resources/static` 或者 `src/main/resources/public` 是常见的放置编译完成的 Vue 构建产物的位置,以便能够被 Spring Boot 正确加载并提供服务。 ### 配置方式 为了使两者协同工作,需做如下设置: #### 前端 (Vue) 创建一个新的 Vue CLI 项目作为前端工程,按照官方文档指导安装必要的依赖项和插件。完成后修改 `vue.config.js` 中的相关路径映射以适应实际需求: ```javascript module.exports = { publicPath: process.env.NODE_ENV === 'production' ? '/your-app-name/' : '/', } ``` 这确保了无论是在本地调试还是线上发布都能正确解析相对 URL 路径。 #### 后端 (Spring Boot) 为了让 Spring Boot 支持单页面应用(SPA),可以在主应用程序类添加以下代码片段来处理所有未匹配到 RESTful API 请求的情况,将其重定向给 index.html 页面从而让路由由前端框架接管: ```java import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; @Configuration public class WebConfig implements WebMvcConfigurer { @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/").setViewName("forward:/index.html"); // Add more routes as needed... } } ``` 此外还需调整 application.properties 文件内的 server.error.whitelabel.enabled 属性设为 false 来关闭默认错误页显示功能,防止干扰 SPA 渲染逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值