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

相关推荐
那个失眠的夜1 小时前
AspectJ
java·开发语言·数据库·spring
Watermelo6171 小时前
理解 JavaScript 中的“ / ”:路径、资源与目录、nginx配置、请求、转义的那些事
前端·javascript·vue.js·chrome·nginx·正则表达式·seo
亚历克斯神1 小时前
Java 云原生开发最佳实践:构建现代化应用
java·spring·微服务
是宇写的啊1 小时前
SpringBoot配置文件
java·spring boot·spring
疯狂成瘾者2 小时前
Java 常见 Map 对比总结:HashMap、LinkedHashMap、TreeMap、ConcurrentHashMap
java·开发语言·spring
野生技术架构师2 小时前
牛客网热门Java 面试题汇总,查漏补缺;多线程 +spring+JVM 调优 + 分布式 +redis+ 算法
java·jvm·spring
qqacj3 小时前
Spring Security 官网文档学习
java·学习·spring
虹梦未来4 小时前
【开发心得】在SpringBoot体系中正确使用redisConfig
java·spring boot·spring
skiy4 小时前
Spring Framework 中文官方文档
java·后端·spring
|晴 天|4 小时前
[特殊字符]️ Vue 3项目架构设计:从2200行单文件到24个组件
前端·javascript·vue.js