众所周知,项目打成war包直接放到webapps下启动tomcat后访问项目需要带上ContextPath,也就是war包的文件名,需要去除掉这玩意最简单的办法是将war包重命名为ROOT.war,为了防止覆盖掉tomcat本身的ROOT项目建议修改server.xml的/Server/Engine/Host@appBase,制定一个新位置,以上就是最简单正确的解决方案。
接下来列举几个常见的其他方案。
1.解压war包然后直接修改server.xml的/Server/Engine/Host@appBase为解压后的文件夹路径
这种方法可以用,也比较简单,相较之下只是多了一个解压的动作,可以使用
2.添加/Server/Engine/Host/Context节点,指定docBase为项目名,path为空
这种方法可以生效但强烈不推荐使用,因为有几个问题:1.这种方法下tomcat会启动两个项目,一个不带ContextPath,一个带ContextPath。2.当删除掉项目后tomcat会无法启动
最后总结,最推荐的方案是在开头提到的修改/Server/Engine/Host@appBase,重命名war包为ROOT.war。