理论:
server下面可以有多个service,用于配置不同监听端口
service下面可以有多个Host,用于配置该端口下的不同域名
Host里可以包含多个Context,用于配置该端口该域名下的不同虚拟目录
service下面可以有多个Host,用于配置该端口下的不同域名
Host里可以包含多个Context,用于配置该端口该域名下的不同虚拟目录
实践
允许目录浏览:
修改conf/web.xml:
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
为:
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
配置多域名:
配置多域名就是在conf/server.xml 里的 Engine 结点里增加Host结点,Host结点的格式为:
<Host name="localhost1" appBase="testapp" unpackWARs="true" autoDeploy="true">
</Host>
配置虚拟目录:
配置虚拟目录就是在conf/server.xml里Host结点里增加Context结点,Context结点的格式为: <Context path="/" docBase="D:\快盘" debug="0" reloadable="true" crossContext="true"/>
<Context path="/yyp" docBase="D:\快盘" debug="0" reloadable="true" crossContext="true"/>
path 是指虚拟目录的名字。如果 path=“/”,那么localhost:8080 这样是访问不到"D:\快盘“路径下的文件列表;如果 path=“”,那么localhost:8080 这样就可访问到"D:\快盘“路径下的文件列表;记得允许目录浏览;
docBse是指文件实际存放位置。
问题:
如果启动startup.bat 一闪而过,启动不了tomcat,是因为tomcat不找见java的JDK安装路径。那么就需要一下两步解决:
1、安装JDK
2、告诉tomact JDK的安装路径。告诉tomcat有2种办法:
1、设置JAVA_HOME环境变量,将它的值设置为 JDK的路径值,如:D:/Program Files/Java/jdk1.7.0_40
2、直接在tomcat的批处理文件
startup.bat里设置。这招看这里
在文件里这句语句: set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat" 下
加一句: set JAVA_HOME=D:/Program Files/Java/jdk1.7.0_40 (注意这个值是你自己的安装路径)