前两天在往服务器上的Tomcat部署Web项目上栽了跟头,Tomcat首页可以正常启动,但是web项目里的所有接口访问都报404,折腾了好久才解决,记录一下分享给大家。
一、回顾如何在tomcat部署项目。
1、熟悉tomcat下各级目录作用:
1)bin目录下是有startup和shutdown这两个启动和停止的脚本的。.bat在windows系统使用, .sh在linux系统使用。
2)log目录中catalina.out为tomcat启动日志。启动后可观察启动的情况。
3)webapp目录一般用于放置待部署项目的war包。
4)conf目录用于存放tomcat的配置文件。
2、重点关注server.xml配置
通常我们会关注
tomcat的启动端口和停止端口,确保不被占用。
如果被占用也可以在启动日志中查到类似 “Port 8080 was already in use” 的提示。这时我们可以把端口号换一下,再重启。
—-如果不是这个原因导致,下面才是重点——
二、真正原因分析
appBase=“webapps”,它意味着tomcat的默认项目读取目录为webapps,这也就是为什么我们都要把项目放置在webapps下。
但是还有一个要注意的点就是,Tomcat默认只会读取webapps下的ROOT目录,通常我们打的war包如test01.war如果放置在ROOT目录下,那么启动tomcat你会看到webapps下会多一个test01的目录。但是tomcat只读ROOT目录下的文件。这就是为什么你的接口都报404,是因为它就获取不到你的资源。
三、解决方式:
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。