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

相关推荐
艾菜籽18 小时前
Spring MVC入门补充2
java·spring·mvc
风兮w19 小时前
MVC、MVP和MVVM的区别
mvc
博客zhu虎康19 小时前
Element中 el-tree 如何隐藏 Tree 组件中的父节点 Checkbox
javascript·vue.js·elementui
长明19 小时前
Electron 的西天取经
vue.js·electron
九十一19 小时前
Reflect 在 Vue3 响应式中作用
前端·vue.js
岁月宁静20 小时前
前端添加防删除水印技术实现:从需求拆解到功能封装
前端·vue.js·人工智能
华仔啊21 小时前
Vue3 登录页还能这么丝滑?这个 hover 效果太惊艳了
前端·css·vue.js
云和数据.ChenGuang21 小时前
Component template requires a root element, rather than just错误
前端·javascript·vue.js
为java加瓦21 小时前
Spring 方法注入机制深度解析:Lookup与Replace Method原理与应用
java·数据库·spring
无名客021 小时前
SpringCloud中的网关(Gateway)的作用是什么?
spring·spring cloud·gateway