问题描述

 

vue项目在本地开发环境运行正常,打包部署至线上Tomcat服务后,不刷新浏览器时工作正常,一刷新浏览器就报404错误,错误截图如下:

错误描述:404,源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。

之前在本地IDEA环境测试正常,且该页面之前从菜单链接访问都是正常,一刷新浏览器就404。

问题解决

经过多方排查和查找资料,问题应该是server端未配置默认访问的文件路径有关。通过在项目下新增WEB-INF/web.xml文件,并配置项目默认的404错误页面访问路径即可解决该部署问题。 

1、在tomcat的webapps目录对应项目目录下新增WEB-INF文件,并在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.0" 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>

2、配置完成,重启tomcat,问题解决。

GitHub 加速计划 / vu / vue
109
18
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:3 个月前 )
9e887079 [skip ci] 1 年前
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 1 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐