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

相关推荐
步行cgn4 分钟前
@ResponseBody 详解:Spring MVC 中把返回值直接写入响应体
java·spring·mvc
萧瑟余晖3 小时前
Spring Data综合实战与调优详解
java·后端·spring
console.log('npc')4 小时前
周期任务功能完整实现:CRON 编辑器 + 模板变量 + 执行历史
javascript·vue.js·编辑器
郭小李6 小时前
spring 的 @CookieValue 注解 用法
java·后端·spring
屈冠成7 小时前
ShopXO商城系统测试报告
开发语言·spring·maven·lua
qq_340040887 小时前
idea2021版,vue项目的package.json不展示scripts的绿色箭头
javascript·vue.js·json
志尊宝8 小时前
AI原生前端开发(037):AI辅助的Vue 3开发最佳实践
前端·vue.js·ai-native
徐小夕9 小时前
扒了JitWord的源码,我终于搞懂了企业级在线Word到底有多难写
前端·vue.js·github
w_t_y_y9 小时前
JWT(5)JWT+spring security
java·后端·spring