在 Spring MVC 中部署路由为history模式的vue项目

为了处理 Vue.js 的 History 模式,需要在 Spring MVC 中配置一个控制器来转发所有的非 API 请求到 index.html。这样,前端路由可以接管 URL 并正确显示 Vue.js 组件。

创建一个控制器(例如 ForwardingController)来处理所有的前端路由:

java 复制代码
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class ForwardingController {

    @GetMapping("/**/{path:[^\\.]*}")
    public String forward() {
        // 将所有匹配的请求转发到 /index.html
        return "forward:/index.html";
    }
}

在这个控制器中,/**/{path:[^\.]*} 是一个路径匹配模式,它匹配所有的路径(不包含点 ., 因为点通常用于文件扩展名)。这确保了 Vue.js 的 History 模式可以正确处理路由。

相关推荐
愚者Pro5 小时前
Flutter Widget组件学习(专为 Uniapp 转 Flutter 定制)
vue.js·学习·flutter·uni-app
前端毕业班7 小时前
uniapp web 灵活控制 style scoped
前端·javascript·vue.js
卤蛋fg68 小时前
vxe-table 数据分组 + 单元格图表:柱状图与饼图渲染实战
vue.js
callJJ9 小时前
Nacos 详解——从概念到实战
java·spring boot·spring·spring cloud·微服务·nacos
小马爱打代码9 小时前
Spring源码 第三篇:Spring 源码深度拆解:循环依赖 + 三级缓存
java·spring·缓存
用户841794814569 小时前
vxe-table 数据分组:三种展示方式详解
vue.js
用户3983461612010 小时前
Go-Spring 实战第 13 课 —— Bean 元信息:名称、生命周期、接口导出、条件和显式依赖
spring·go
小马爱打代码10 小时前
Spring源码 第二篇:Spring Bean 生命周期:从实例化到销毁全源码解析
java·后端·spring
C137的本贾尼11 小时前
Spring AI Alibaba 进阶:DashScope 原生能力与最佳实践
人工智能·spring
LJA6484411 小时前
用 MCP + 一句话生成了完整的 CRUD 页面
vue.js