解决vue项目打包部署到tomcat时,访问成功,但是刷新后页面报404

问题描述:

使用webpack打包vue后, 将打包好的文件, 发布到tomcat上, 访问成功,但是刷新该页面后报404错误。

问题根源:

是html5 history模式引发的问题, 具体的原因, 官方那个已经给了解释,查看 https://router.vuejs.org/zh-cn/essentials/history-mode.html

解决方案:

官方给的解决方案原理:要在服务端增加一个覆盖所有情况的候选资源,如果url匹配不到任何静态资源,则返回同一个index.html页面,这个页面就是app依赖的页面。所以在tomcat服务器下操作: 在打包好的项目根目录(和index.html同一级)下新建一个WEP-INF文件夹, 在此文件夹下写一个web.xml,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
           http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
  version="3.1" metadata-complete="true">
  <display-name>Router for Tomcat</display-name>
  <error-page>
    <error-code>404</error-code>
    <location>/index.html</location>
  </error-page>
</web-app>

这样的目的是一旦页面出现404就返回到index.html页面

原文链接:https://www.cnblogs.com/sllzhj/p/12937129.html

posted @   久曲健  阅读(781)  评论(0编辑  收藏  举报
编辑推荐:
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
历史上的今天:
2019-11-26 PowerMock学习(五)之Verifying的使用
点击右上角即可分享
微信分享提示