一、虚拟目录
1、虚拟根目录
(1)Server.xml文件中的<Host>元素的appBase属性所设置的应用程序基准目录中的ROOT子目录为默认根目录
(2)使用server.xml文件中的<Context>元素
<Context path="" docBase="d:\test" debug="0"/>
2、虚拟子目录
使用server.xml文件中的<Context>元素
<Context path="/it315" docBase="d:\myweb" debug="0"/>
特定目录中的xml文件中包含<Context>元素
Tomcat 4.x的<Tomcat主目录>/webapps目录
Tomcat 5.x的<Tomcat主目录>/conf/<引擎名>/<主机名>
<Host>元素的appBase属性所设置的应用程序基准目录中的含有WEB-INF/web.xml文件的子目录
<Host>元素的appBase属性所设置的应用程序基准目录中的war文件
3、部署描述符文件
<WEB应用程序>/WEB-INF/web.xml
<Tomcat主目录>/conf/web.xml
4、目录的默认网页文件
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
二、配置虚拟主机
1、简介
(1)URL
格式: http://IP地址(或主机名):端口号/目录名称/网页文件名称
举例: http://www.it315.org/book/java.html
(2)目的:
在一台计算机上创建多个WEB站点,并为每个WEB站点设置不同的主目录和虚拟子目录,每个WEB站点作为各自独立的网站分配给不同的公司或部门。
(3)好处:
多个公司或部门的网站就可以共用同一台计算机,而用户感觉每个公司和部门都有各自独立的网站。多个没有实力在Internet上架设自己专用服务器的中小公司可以联合租用一台WEB服务器,对外提供各自的WEB服务而互不影响。
(4)原理:
WEB服务器上的每个WEB站点必须设置有不同的标识信息
WEB浏览器发出的连接和请求信息中包含WEB站点的标识信息
(5)WEB站点的标识信息:
IP地址、端口号、主机名
二、虚拟主机及实现原理 :
1、基于主机名的虚拟主机
WEB浏览器要访问基于主机名的虚拟主机时,在访问URL中必须采用主机名,而不能采用IP地址。
在整个网络系统中建立主机名与IP地址的映射关系,即必须将主机名添加到名称解析系统。
(1)使用客户机本地的Hosts 文件,例如,c:\winnt\System32\Drivers\Etc\Hosts或C:\Windows\System32\drivers\etc\Hosts
(2)使用DNS(Domain Name System,域名系统)服务器
2、基于端口号的虚拟主机
一个<Connector>元素用于配置一个对外的连接器,对于WEB服务器上的每一个监听端口号,都要使用一个单独的<Connector>元素。
一个<Connector>元素对应的连接器必须有一个相关的<Engine>元素,将一个或多个<Connector>元素与某个<Engine>元素相关联的方式就是将它们嵌套在同一个<Service>元素中。
<Service name="…">
<Connector port="…" …/>
<Engine name="…" >
<Host name="…" >
<Context …>
</Context>
</Host>
</Engine>
</Service>
3、基于IP地址的虚拟主机
HTTP 1.0不支持Host头字段,在保证所有站点统一使用端口号80的情况下,人们早期只能采用不同的IP地址来建立虚拟主机。
HTTP 1.1可以使用不同的主机名来建立多个WEB站点后,虚拟主机业务提供商一般不再建立基于IP地址的虚拟主机。
Tomcat没有提供建立基于IP地址的虚拟主机方式。