Tomcat去项目名称访问的配置方法
一般这种需求的前提多是一个tomcat只发布一个web项目, 直接通过根路径来访问项目, 一共有三种方法实现.
方式1
简单粗暴, 将webapps下的ROOT文件夹删除, 将项目命名为ROOT.war; 或者将项目下的文件及文件夹全部拷贝到ROOT文件夹中, 两种方式一样效果.
方式2
修改server.xml, 在Host标签下增加项目的配置, 如:
<Engine name="Catalina" defaultHost="localhost"...>
...
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="/opt/myweb" reloadable="true" />
...
</Host>
...
</Engine>
保险起见, 也删掉webapps里的ROOT文件夹.
方式3
同方式2, 先删ROOT文件夹. 通过外部xml来指定发布的项目, 我比较喜欢这种方式, 很久之前一直使用这种方式发布项目. 在{TOMCAT_HOME}/conf/Catalina/localhost下创建ROOT.xml, 内容如:
ROOT.xml
<?xml version="1.0" encoding="utf-8"?>
<Context path="" docBase="D:/projects/myweb" crossContext="true" reloadable="false">
</Context>
path配置成空串表示可以通过根来访问项目, 如果配置成path="abc", 就是用abc访问项目, 等等. 其实不想通过根来访问项目的话, xml的文件名就是发布后项目的访问名, 无需配置path属性.