记一次奇怪的debug:Tomcat部署网站每一个页面第一次打开404刷新后才正常显示

464 查看

不久前毕设网站的第三版上线,然后我遇到了一个奇怪的bug:

  • 访问页面的时候,第一次打开404,必须F5刷新后才能正常显示

简直

第一次尝试

最开始以为是浏览器缓存没有清理【思路大概是:浏览器发现这网页访问过,于是直接加载了缓存,但缓存是404】,然后清理缓存,重新访问,结果发现不是缓存的问题。

第二次尝试

以为是打包过程中出现了问题,清理项目重新打war,然后重新部署到tomcat上,仍然没有解决问题。

话说我部署的方式特别简单粗暴:

  • STS导出war包,传到服务器备份

  • 停止Tomcat运行

  • 删除Tomcat的webapp目录下上个版本的war包和文件夹

  • 将war包拷贝到webapp目录下

  • 重新启动Tomcat

第三次尝试

stackoverflow上有人说打包过程中不能出现任何warning(P!我有warning前几次还不是运行得好好的)和error(废话),总之当成死马医医看,把warning们都搞掉了

这时我想了一下,感觉还是Tomcat的问题,如果我想访问新文件,但是Tomcat还是找旧文件去了,但是旧文件已经rm -rf,就会404了

于是我猜是之前的旧文件没有删除干净。

于是我在Tomcat所有目录下都找了一遍,果然在work/Catalina目录下发现了一个项目的同名文件!

关Tomcat,删除之。

重新把新的war包cp到webapp目录下后重启Tomcat。

万事OK。o(* ̄▽ ̄*)ブ

顺手求小伙伴们来玩玩我的毕设【好像哪里不对?】