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

相关推荐
鱼宵24 分钟前
Spring AI 初体验:配好 yml 就能聊,ChatClient 四步链式调用
人工智能·spring·microsoft·大模型·springai·chatclient
endswel1 小时前
Spring bean 注册多种方式
java·后端·spring
wdssmq2 小时前
「折腾」Vue 简单的状态管理实践
vue.js
imDwAaY2 小时前
Spring中过滤器和拦截器的区别是什么?
spring boot·后端·spring
桃西西呀3 小时前
Spring AI Alibaba 之二:Spring AI 底座与原子抽象一笔带过,看清 SAA 在之上加了什么编排
人工智能·spring·llm
写后端的胖头鱼4 小时前
一文详解Spring 事务失效场景
java·spring·事务·transactional·事务传播机制
Q26433650234 小时前
【有源码】基于Spring Boot和Vue的在线考试与交流系统-教育信息化背景下在线考试与交流一体化平台
java·vue.js·spring boot·mysql·spring·毕业设计·课程设计
会编程的吕洞宾4 小时前
Spring AI 2.0 会话记忆实战,让 AI 助手记住每一次对话
java·人工智能·spring
小宋10214 小时前
Agent 工具升级如何不破坏线上:Tool Schema 版本兼容与契约测试
java·人工智能·后端·spring