配置WEB站点的虚拟目录

1.虚拟web目录的映射概念和原理:

       概念:  

如果想要让某台计算机的一个目录内容,能被外面的浏览器通过http协议访问,则步骤如下:

(1)首先要在这台计算机上安装和启动一个web服务器软件

(2)其次还要将该目录映射成一个web站点目录。这个web站点目录通常称为虚拟目录。

(3)一个web站点上只能有一个虚拟目录的根目录,其他的虚拟目录都必须是该目录的子目录。

(4)一般根目录用“/”符号表示,根目录和该根目录下的子目录或资源文件也以“/”符号进行分割。

原理的注意事项:

(1)一个文件系统目录可以被映射为多个虚拟web目录

(2)虚拟Web子目录名称可以是多级目录结构的形式

(3)Tomcat按照最长路径匹配原则处理请求的URL

2.设置web站点的目录:

(1)设置WEB站点的虚拟根目录

(1)在tomcat\webapps\ROOT 中只要直接导入一个html文档就可以直接访问

           (2)在server中用<Host></Host>标签中设置<Context></Context>标签也可以设置根目录

                     绝对路径:<Context path=”” docBase=” e:/myweb” Debug=”0”/>

                     相对路径:<Context path=”” docBase=”.” Debug=”0”/>

注:一个host为一个web站点,在host中有一个appBase=“webapps”是基准路径,而相对的路径是基准与基准路径说的,即把webapps设为虚拟的根目录,但一般不改变根。在写标签的时候记住要加尾标签 /

       (2)设置web站点的虚拟子目录:

第一种:在server中添加

<Context path=”/book” docBase=”e:\test” Debug=”0”/>

注:debug的功能不是必须的,它显示的是在后台输出的多少,0表示少, 1表示多

              第二种:在webapps下设置的文件夹里的html就可被自动当成是虚拟的子目录

             

              第三种:把想要发布的html文档达成包,可以对其包进行访问

              (1)对压缩包设置虚拟的子目录第一种

                     在server中设置  <Context path=”/student” docBase=”e:\myweb.war”/>

                     访问时:  http://localhost:8080/student/1-1-2.html

                     注:解压缩war的压缩之后,执行时自动的把压缩的文件压缩到webapps下

              (2)对压缩包设置虚拟的子目录第二种

直接把压包拷贝到webapps下就可以,但要注意在访问时的虚拟的子目录是和压缩的名字是一样的,所有要注意路径。

                     注意:打包时的命令:Jar 命令是用来打包的    (Cd myweb)

jar  cvf  myweb(压缩的文件名).war  .(当前目录下的所有文件)

3.部署描述符和目录的默认网页

       (1)部署描述符

                 部署描述符是web.xm,并且存在两个地方

                        一个是在Tomcat/conf/web.xml下(因为在这里面的xml是共有的)

                       一个是在每一个应用程序虚拟子目录写WEB_INF/web.xml            

       (2)默认网页的设置:                                    

第一种:在conf中的web.xml中的最下面有<welcome-file-list>这个标签里是默认的文件

在虚拟的子目录下拷贝一个名为index的html文件,在运行的时候直接在路径下打虚拟的目录就可以访问,就是因为有web.xml默认的文件   

第二种:在虚拟的目录中自己建一个Web.xml,web.xml是在WEB_FIN文件夹下

(3) 配置虚拟主机:

                                                                                            

基于主机名的虚拟主机

(1)浏览器访问web资源的过程-------------就是在地址栏上输入路径的过程:

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

举例: http://www.it315.org/book/java.html

        (2)虚拟主机及实现原理:

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

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

原理:

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

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

WEB站点的标识信息:

IP地址、端口号、主机名

    详细的实现过程

        (1) 两个站点:

            主机名:site1  http://site1:8080/index.html

            主机名:site2  http://site2:8080/index.html

           基于主机名的虚拟主机的设置:

                 Connector  连接器  监听客户端发来的请求

         Engine   引擎标签  用来处理客户请求的,接收连接器的请求并处理完之后返回给连接器  

         在Engine中有 Host 虚拟主机,一个web站点 

(2)在server中加一对Host标签,因为有两个站点

   <Host name=”site1” appBase=”e:virtudlHost1”>

                <Context path=”” docBase=”.” >               

           </Host>                                                                           

    <Host name=”site2” appBase=”e:virtudlHost2”>

                 <Context path=”” docBase=”.” >                 

           </Host>   

(3)http://sitel:8080/test1.html不能访问,因为sitel是域名,在提交请求时必须先添加域名,根据以下路径添加域名

                     c:\WINDOWS\system32\drivers\hosts   添加域名    

127.0.0.1   site1

127.0.0.1   site2     

(4)http://sitel:8080/test1.html可正确访问

基于端口号的虚拟主机                  

       (1)创建两个站点:

              web站点:8080

              web站点:8081

           提交请求:http://localhost:8080/index.html

提交请求:http://localhost:8080/index.html

(2)在server中配置:在</Service>后创建多个<Service>标签

       <Service name="Tomcat_second">

               <Connector port="8081" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443"/>

               <Engine name="Catalina" defaultHost="localhost">   

              <Host name="site2" appBase="E:\virtudlHost2">

                      <Context path="" docBase="."/>

              </Host>

       </Engine>

       </Service>

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭