一、问题
用idea启动 springboot 能够正常访问,但是将 war包部署到tomcat却报404,如下图所示:
二、解决方案
在网上找了很多文章,大部分文章说启动类要继承SpringBootServletInitializer,并且重写configure。我的代码已经这样实现了,但是仍然报404。经过反复查找,最后发现是因为路径错了,正确的路径要带着war包的名称,如下所示:
正确的路径:http://localhost:8080/sb-0.0.1-SNAPSHOT/hello
其中“sb-0.0.1-SNAPSHOT”是war包的名称:
三、领悟
之前还有一个疑问,为什么要在url中加上war包名称,后来想明白了,如果没有这个名称tomcat是无法区分访问哪个服务的。