事故现象

在CentOS8中安装完WEB环境,首次部署WEB项目DEMO案例,发现可以静态的网页内容,

但是无法向后台发送异步请求,全部出现404问题,导致数据库数据无法渲染到界面上。

Linux中Tomcat发布war包后无法正常访问非静态资源-LMLPHP

原因分析

CentOS请求中提示用来获取资源的连接不安全

因为使用的HTTP协议访问的项目 不安全是正常的,请暂时忽略

Linux中Tomcat发布war包后无法正常访问非静态资源-LMLPHP

核心原因

因为前端可以正常访问,所以怀疑后端环境出问题。

  • 首先检查war包中对应的文件都没有问题,

  • 其次发现在Eclipse中默认创建Dynamic Web Project 项目的JRE环境使用的 JavaSE - 17

本机安装的是JDK11, 平时环境都是重新配置过的,这次小案例比较急给忘记了,因此预计是JDK环境造成

Linux中Tomcat发布war包后无法正常访问非静态资源-LMLPHP

更改JDK环境

1.右键JRE修改i执行环境切换成 JavaSE - 11(jre)

Linux中Tomcat发布war包后无法正常访问非静态资源-LMLPHP
2. 提示版本不匹配

Java编译器级别与已安装的Java项目方面的版本不匹配

Java compiler level does not match the version of the installed Java project facet.

Linux中Tomcat发布war包后无法正常访问非静态资源-LMLPHP
原因

项目.settinds目录下org.eclipse.wst.common.project.facet.core.xml文件定义了 java的版本

Linux中Tomcat发布war包后无法正常访问非静态资源-LMLPHP

  1. 同步facet="java" version="17"中版本的数值 改为上面修改的 11

Linux中Tomcat发布war包后无法正常访问非静态资源-LMLPHP

演示效果

Linux中Tomcat发布war包后无法正常访问非静态资源-LMLPHP

09-03 04:29