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

相关推荐
sxlishaobin11 小时前
Spring Bean生命周期详解
java·后端·spring
叫我阿柒啊11 小时前
从Java全栈到前端框架:一场真实的技术面试对话
java·vue.js·spring boot·微服务·typescript·前端开发·后端开发
yyovoll12 小时前
Java包和权限的知识点介绍
java·spring
二十雨辰12 小时前
[SSM]SpringMVC请求与响应
java·spring·http
今天有个Bug13 小时前
【计算机毕业设计】流浪动物救助平台 - SpringBoot+Vue
sql·mysql·spring·vue·毕业设计·课程设计
韩立学长13 小时前
【开题答辩实录分享】以《基于SSM的电影售票管理系统的设计与实现》为例进行选题答辩实录分享
java·spring·servlet
Aotman_13 小时前
Vue MutationObserver 监听
前端·javascript·vue.js·elementui·前端框架·ecmascript
专注前端30年13 小时前
Vue3的生命周期钩子有哪些变化?
前端·javascript·vue.js
程序员阿鹏13 小时前
@Autowired和@Resource的区别
java·开发语言·spring
一 乐13 小时前
健身房预约|基于springboot + vue健身房预约小程序系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·学习·小程序