vue路由改为history模式后打包放入tomcat容器 刷新404

网上很多方法说新建一个WEB-INF文件夹 里面是web.xml文件放在项目根目录下

在这里插入图片描述
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变成了空白页,而且请求里面依然404
在这里插入图片描述

后来猜测是路径不对 在打包之后的index.html里把资源路径的"./“全部改成了”/"

重启tomcat 刷新 页面正常!
经过一番回忆,原来之前用的是hash路由模式,将config/index.js里面的打包配置做了更改
在这里插入图片描述
总结:无论hash模式还是history模式,可以直接使用“/”从项目根目录引入静态文件。
./ 是指用户所在的当前目录(相对路径);

/ 是指根目录(绝对路径,项目根目录),也就是项目根目录;

对于hash模式,根路径是固定的,就是项目的根目录,但是history模式下,以/开头的嵌套路径会被当作根路径,所以使用“./”引入文件,就会找不到文件了,因为文件本身就是在项目根目录下的,并不在嵌套路径这个目录下。
参考自以下两篇文章

//添加xml文件
https://www.cnblogs.com/sxshaolong/p/10219527.html
//变更路径
https://www.jb51.net/article/133681.htm
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值