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

相关推荐
SaxoZhao7 分钟前
Vue 中阻止点击事件穿透
前端·javascript·vue.js
用你的胜利博我一笑吧11 分钟前
vue3+ts+supermap iclient3d for cesium功能集合
前端·javascript·vue.js·3d·cesium·supermap
ChinaRainbowSea1 小时前
十六,Spring Boot 整合 Druid 以及使用 Druid 监控功能
java·spring boot·后端·spring·web
忘却的纪念3 小时前
基于SpringBoot的考研资讯平台设计与实现
java·spring boot·spring
代码搬运媛7 小时前
el-table 如何实现行列转置?
javascript·vue.js·elementui
开 端7 小时前
文件批量添加水印和密码合并单元格完整版
java·ide·spring
计算机学姐10 小时前
基于python+django+vue的二手电子设备交易平台
开发语言·vue.js·后端·python·mysql·django·web3.py
程序员大金12 小时前
基于SpringBoot+Vue+MySQL的网上租赁系统
java·前端·javascript·vue.js·spring boot·后端·mysql
等你许久_孟然12 小时前
一文快速上手-create-vue脚手架
前端·javascript·vue.js