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

相关推荐
爱上妖精的尾巴32 分钟前
7-2 WPS JS宏 Object对象属性的查、改、增、删
前端·javascript·vue.js
源码获取_wx:Fegn089535 分钟前
基于springboot + vueOA工程项目管理系统
java·vue.js·spring boot·后端·spring
change_fate43 分钟前
vue模板数组不要直接使用reverse方法
前端·javascript·vue.js
一 乐1 小时前
健康管理|基于springboot + vue健康管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端·学习
JosieBook2 小时前
【Vue】05 Vue技术——Vue 数据绑定的两种方式:单向绑定、双向绑定
前端·javascript·vue.js
bluetata2 小时前
Spring AI 使用 AWS Amazon Nova 模型
人工智能·spring·aws
柒@宝儿姐3 小时前
vue3中使用element-plus的el-scrollbar实现自动滚动(横向/纵横滚动)
前端·javascript·vue.js
七夜zippoe3 小时前
Spring与MyBatis整合原理及事务管理
java·spring·mybatis·事务·mapper
java硕哥4 小时前
Spring源码debug方法
java·后端·spring
JH30734 小时前
Spring Retry 实战:优雅搞定重试需求
java·后端·spring