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

相关推荐
天外天-亮2 小时前
Vue + excel下载 + 水印
前端·vue.js·excel
daidaidaiyu3 小时前
Spring IOC 源码学习一 基本姿势
java·spring
间彧3 小时前
Spring AOT + GraalVM Native Image:云原生Java的效能引擎
spring
0***K8924 小时前
Vue数据挖掘开发
前端·javascript·vue.js
t***26594 小时前
SpringBoot + vue 管理系统
vue.js·spring boot·后端
蓝胖子的多啦A梦4 小时前
ElementUI表格错位修复技巧
前端·css·vue.js·el-table表格错位
H***99764 小时前
Vue深度学习实战
前端·javascript·vue.js
百***35946 小时前
【Java EE】Spring请求如何传递参数详解
spring·java-ee·lua
老友@7 小时前
深入 Spring AI:架构与应用
人工智能·spring·ai·架构
code_Bo7 小时前
Ant Design Vue 日期选择器英文不变更中文问题
前端·vue.js·ant design