JavaWeb—虚拟主机与虚拟目录

来源:互联网 发布:淘宝售后客服工资考核 编辑:程序博客网 时间:2024/06/05 20:28
 

                                                 JavaWeb—虚拟主机与虚拟目录

虚拟目录:

       一个web站点上只有一个虚拟目录的根目录。

       一个文件系统目录可以被影射成为多个虚拟Web目录。

设置web站点的根目录:

       <Host>元素的appBase属性所设置的应用程序基准目录中的ROOT子目录

       一对<host>标签就是一个web站点(此基准路径为webapps)

       <Context path=” ” docBase=”绝对路径/相对路径” debug=”0”(输出窗口的内容多少属性  不是必须属性)/(斜线是表示结束标志)>(此语句表示设置虚拟根路径)

设置虚拟站点的子目录:

       1、在server。Xml中在<host></host>元素中间增加:

       <Context path=”虚拟路径” docBase=”要映射的根目录” />

       2、webapps目录里面的每一个子目录都影射成一个虚拟的子目录,虚拟的子目录名字和文件系统子目录名一样

       3、打成一个war包,在server.xml文件中进行配置

       <Context path=”/student” docBase=”d:\myweb.war”/>虚拟子目录的名字和path属性的值一样

       4、打成一个war包,把war包放到webapps下就行。虚拟的子目录名和war包名子一样

 

部署描述符和默认页面

部署描述符文件:

       <WEB应用程序>/WEB—INF/web.xml

<Tomcat主目录>/conf/web.xml

每一个web应用程序虚拟子目录下WEB—INF/web.xml

目录的默认网页文件

       <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、浏览器访问WEB资源的过程

URL格式:http://IP地址(或主机名):端口号/目录名称/网页文件名称

2、虚拟主机及实现原理

目的:

在一台计算机上创建多个WEB站点,并为每个WEB站点设置不同的主目录和虚拟子目录,每个WEB站点作为各自独立的网站分配给不同的公司或部门。

好处:

多个公司或部门的网站就可以共用同一台计算机,而用户感觉每个公司和部门都有各自独立的网站。多个没有实力在Internet上架设自己专用服务器的中小公司可以联合租用一台WEB服务器,对外提供各自的WEB服务而互不影响。

原理:

WEB服务器上的每个WEB站点必须设置有不同的标识信息

WEB浏览器发出的连接和请求信息中包含WEB站点的标识信息

WEB站点的标识信息:

IP地址、端口号、主机名

3、基于主机名的虚拟主机

WEB浏览器要访问基于主机名的虚拟主机时,在访问URL中必须采用主机名,而不能采用IP地址。

在整个网络系统中建立主机名与IP地址的映射关系,即必须将主机名添加到名称解析系统。

使用客户机本地的Hosts 文件

使用DNS(Domain Name System,域名系统)服务器 

4、基于端口号的虚拟主机

一个<Connector>元素用于配置一个对外的连接器,对于WEB服务器上的每一个监听端口号,都要使用一个单独的<Connector>元素。

一个<Connector>元素对应的连接器必须有一个相关的<Engine>元素,将一个或多个<Connector>元素与某个<Engine>元素相关联的方式就是将它们嵌套在同一个<Service>元素中。

<Service name="…">

    <Connector port="…" …/>

    <Engine name="…" >

        <Host name="…" >

           <Context …>

           </Context>

        </Host>             

    </Engine>

</Service>

 

5、基于IP地址的虚拟主机

HTTP 1.0不支持Host头字段,在保证所有站点统一使用端口号80的情况下,人们早期只能采用不同的IP地址来建立虚拟主机。

HTTP 1.1可以使用不同的主机名来建立多个WEB站点后,虚拟主机业务提供商一般不再建立基于IP地址的虚拟主机。

Tomcat没有提供建立基于IP地址的虚拟主机方式。