序
不久前毕设网站的第三版上线,然后我遇到了一个奇怪的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(* ̄▽ ̄*)ブ