tomcat去掉ContextPath

众所周知,项目打成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。

上一篇:ASP.NET所谓前台调用后台、后台调用前台想到HTTP——实践篇


下一篇:.NET 前台调用后台事件和方法实现小结