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

相关推荐
MXN_小南学前端6 分钟前
watch详解:与computed 对比以及 Vue2 / Vue3 区别
前端·javascript·vue.js
三水不滴22 分钟前
SpringAI + SpringDoc + Knife4j 构建企业级智能问卷系统
经验分享·spring boot·笔记·后端·spring
2601_9498146940 分钟前
Docker部署Spring Boot + Vue项目
vue.js·spring boot·docker
Lkstar3 小时前
逐步搞懂 Vue 的 patchChildren,把 Diff 算法拆给你看
vue.js
952363 小时前
Spring IoC&DI
java·数据库·spring
云烟成雨TD4 小时前
Spring AI Alibaba 1.x 系列【39】四大多智能体(Multi-agent)架构
java·人工智能·spring
nbsaas-boot4 小时前
100万门店级分货系统架构设计
前端·javascript·vue.js
危桥带雨4 小时前
FLASH代码部分
java·后端·spring
java1234_小锋4 小时前
Spring AI 2.0 vs LangChain4j,怎么选?
spring·springai·langchain4j
笋笋~5 小时前
el-tree 拖拽事件隔离:实现句柄独立控制,区域分离
javascript·vue.js·elementui