为什么项目放到linux服务器tomcat webapp下面的root目录下面有的页面报404

为什么项目放到tomcatwebapp下面的root目录下面有的页面报404,放在webapps目录下面就可以,项目是用ssm写的

将项目部署在root目录下可以直接省略上下文,此时webapps 下如果有tomcat自带的项目应该删除,如果不删除的话root下的项目不应该有 manager之类的tomcat自带项目的访问路径 否则的话使用此类项目会抛出404的异常

server.xml的配置里面默认是webapps


      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">


首先你的项目在IDEA上是否可以运行起来,因为IDEA部署的时候可以设置项目的路径,在run/debug configurations => deployment => application context 中设置
如果没有问题的话,你登录localhost:8080、查看tomcant 的manager 页面,看一下当前运行的有没有你的项目,如果有的话,可以直接点进去的,这时候再观察访问的url是不是和你想要的一样

webapps正常的话,那就是conf/server.xml 配置没有添加webapp目录
把service 标签的内容复制一份出来,
把你的目录名字写到appbase里面就可以了,希望对你有所帮助,如果还有问题可以继续留言

首先确定是路径问题,其次一楼回答很正确

楼主你打包好的war包怎么放到ROOT目录下去了,你改成ROOT也行呀(手动滑稽)
从tomcat的目录结构来看,webapps是用来存放web发布目录的,就相当于我们的家(home)目录了。
然后webapps里面你会发现有个ROOT目录,这就是我们的默认访目录,但我程序打包好的war包名不叫ROOT啊,于是楼主想到了在conf/server.xml文件里
面配置上下文,啥叫上下文不就是通过上文直接可以找到下文么,(-滑稽)。楼主在标签里面如愿以偿的加上了这段代码:

我去代码呢???what
< Context path="/" docBase="war包名" debug="0" privileged="true" />