在 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 模式可以正确处理路由。

相关推荐
qq8406122333 小时前
Nodejs+vue基于elasticsearch的高校科研期刊信息管理系统_mb8od
前端·vue.js·elasticsearch
程序员林北北8 小时前
【前端进阶之旅】Svelte:编译即框架,让前端开发回归简洁
前端·javascript·vue.js·react.js·html5
pas13610 小时前
46-mini-vue 实现编译 template 为 render 函数
前端·javascript·vue.js
爱跑步的程序员~10 小时前
Spring AI会话记忆使用与底层实现
人工智能·spring
左夕11 小时前
深度解析vue的生命周期
vue.js
渣瓦攻城狮11 小时前
互联网大厂Java面试:Spring、微服务与消息队列技术详解
java·redis·spring·微服务·消息队列·面试指南·程序员面试
玹外之音11 小时前
Spring AI 工具调用实战:手把手教你让 AI 拥有"超能力"
spring·openai
随逸17711 小时前
《彻底解决CSS冲突!模块化CSS实战指南》
vue.js·react.js
Anastasiozzzz11 小时前
阿亮随手记 SpringBoot应用启动预热、@Lazy、Bean作用域、多环境配置
spring boot·spring·oracle
筱筱°11 小时前
创建一个基于 Vue 的微前端项目
vue.js·微前端