Tomcat配置项目直接通过/访问
遇到一个需求:因为这个域名下只部署了这一个项目,用户想直接通过域名来访问这个项目而不是加一层项目地址。
方式一
修改war文件名:
- 将你的war文件重命名为
ROOT.war 。部署到Tomcat 的webapps 目录即可。- 如果已经存在ROOT文件夹,删除它,以便
Tomcat 自动加解压缩并部署ROOT.war 。- 启动
Tomcat 后,项目可以直接通过https://localhost:8080/ 直接访问。
方式二
修改
server.xml 文件:在<Host/> 添加一个<Context/> 并设置path 与docBase 。
或者
-
path: 指定Web应用程序的上下文路径,即在URL中访问应用程序的路径。例如,
path="/myapp" 将使应用程序在http://localhost:8080/myapp 上可用。 -
docBase: 指定Web应用程序的根目录,可以是WAR文件的路径或已解压的目录。例如,
docBase="/path/to/myapp.war" 或docBase="/path/to/myapp" 。 -
reloadable: 指示是否支持应用程序的自动重新加载。设置为
true 表示支持自动重新加载,便于开发时的快速部署。默认值是false 。
注意
这种方式
webapps 下面一个war包可以会生成两个文件夹,一个是ROOT ,一个是应用程序 的目录。这两个目录下的文件是相同的,也就是**tomcat 把这项目加载了两次**,一个是/ 访问,一个是/应用程序 访问的,这两套是相互隔离的。
解决方案
不把
war 包放入到webapps 中,而是而是通过docBase 来指定war 的路径,这样tomcat 只会在webapps 内生成一个ROOT 目录。