传智播客Java web之 Tomcat的虚拟目录以及JK插件详解

 

    初步了解Tomcat相关知识后,接着是使用大量操作范例讲解如何配置Web站点的虚拟目录,以及如何部署描述符和默认网页文件。有关配置WEB站点的虚拟目录有三点值得注意:
      1.一个文件系统目录可以被映射成为多个虚拟Web目录
      2.虚拟Web子目录名称可以是多级目录结构的形式
      3.Tomcat按照最长路径匹配原则处理请求的URL
具体来说,设置WEB站点的根目录有两种方式:
      1.<Host>元素的appBase属性所设置的应用程序基准目录中的ROOT子目录
      2.使用server.xml文件中的<Context>元素<Context path="" docBase="d:/test" debug="0"/> 
而设置WEB站点的虚拟子目录则有以下多种方式:
      1.使用server.xml文件中的<Context>元素:<Context path="/it315" docBase="d:/myweb" debug="0"/>
      2.特定目录中的xml文件中包含<Context>元素:Tomcat 5.x的<Tomcat主目录>/conf/<引擎名>/<主机名> 
      3.<Host>元素的appBase属性所设置的应用程序基准目录中的含有WEB-INF/web.xml文件的子目录
      4.<Host>元素的appBase属性所设置的应用程序基准目录中的war文件
以上这些虚拟目录的配置要多动手实验才能逐步掌握。除了设置虚拟目录,还要了解部署描述符与目录的默认网页等知识点。对于部署描述符文件,有两个地方一是<WEB应用程序>/WEB-INF/web.xml,第二个是<Tomcat主目录>/conf/web.xml,其中后者是默认的配置文件。如果前者未配置相应元素,则使用后者中的配置。所以当要设置某些属性对所有Tomcat下的web应用程序都有效,则应该修改conf目录下的部署描述符,如果只对某个web应用程序有效,则应该修改该web应用程序下的配置文件。简单来说,就是一个是局部的,一个是全局的。与此同时,还可以设置目录的默认网页文件,例如:
      <welcome-file-list>
            <welcome-file>index.html</welcome-file>
            <welcome-file>index.htm</welcome-file>
            <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
该配置的作用是,当URL请求的是某个虚拟目录时,返回<welcome-file>标签对之间的指定网页。服务器会依次按配置查找相应的网页文档返回给浏览器。
    接下来的知识点对于初学者估计好少会用到,就算不是初学者,用到次数也不会太多。但是了解它们的原理是很有帮助的。一个是配置虚拟主机,另外一个是与Tomcat专用WEB服务器的集成。对于虚拟主机,有三种设置方式:基于主机名的虚拟主机、基于端口号的虚拟主机、基于IP地址的虚拟主机。实现虚拟主机,多个公司或部门的网站就可以共用同一台计算机,而用户感觉每个公司和部门都有各自独立的网站。多个没有实力在Internet上架设自己专用服务器的中小公司可以联合租用一台WEB服务器,对外提供各自的WEB服务而互不影响。
    实现基于主机名的虚拟主机时,WEB浏览器要访问基于主机名的虚拟主机时,在访问URL中必须采用主机名,而不能采用IP地址。在整个网络系统中建立主机名与IP地址的映射关系,即必须将主机名添加到名称解析系统。
    实现基于端口号的虚拟主机时,一个<Connector>元素用于配置一个对外的连接器,对于WEB服务器上的每一个监听端口号,都要使用一个单独的<Connector>元素。 一个<Connector>元素对应的连接器必须有一个相关的<Engine>元素,将一个或多个<Connector>元素与某个<Engine>元素相关联的方式就是将它们嵌套在同一个<Service>元素中。
    由于HTTP 1.0不支持Host头字段,在保证所有站点统一使用端口号80的情况下,人们早期只能采用不同的IP地址来建立虚拟主机,但是HTTP 1.1可以使用不同的主机名来建立多个WEB站点后,虚拟主机业务提供商一般不再建立基于IP地址的虚拟主机,因此Tomcat没有提供建立基于IP地址的虚拟主机方式。
    在最后的视频中讲解了Tomcat专用WEB服务器的集成、集成的考虑因素、集成技术的选择、JK插件、Tomcat体系结构与JK插件的工作原理、Tomcat与IIS服务器集成、Tomcat与Apache服务器集成、与专业WEB服务器集成的现实问题等。是否需要集成,考虑因素有很多。比如集群/安全、附加功能、特殊功能、速度、socket处理/系统稳定性等等。对于集成技术主要讲解了JK插件,关于JK插件有以下特点:
      1.IIS和Apache等专业服务器都支持插件技术,可以将符合某种条件的请求交给插件去处理,IIS和Apache能与Tomcat集成进行集成的关键原理就是这种插件技术。
      2.如果在为JK插件预先配置好的URL映射信息中,所有“/*.jsp”形式的URL都由Tomcat服务器来处理,那么,当用户请求访问“/index.jsp”时,WEB服务器将调用JK插件来处理,JK插件又把这个请求转发给Tomcat服务器处理,Tomcat服务器最后将响应结果经JK插件传给WEB服务器。
      3.不同的WEB服务器下的插件形式是不同的,Tomcat开发小组为不同的WEB服务器提供了相应的JK插件。
      4.不同版本的Tomcat与其他WEB服务器的各个版本集成时的JK插件也可能不同。
在Tomcat的server.xml中,要采用<Connector>元素配置与JK插件进行通信的连接器:
<Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
如果要JK插件发挥作用,有如下问题需要解决
      1.在WEB服务器中正确安装JK插件。
      2.JK插件需要知道把请求转发给哪个Tomcat服务器上的哪个连接器,也就是需要知道该连接器的通信协议和地址。
      3.JK插件需要知道它负责处理的URL,以便通知WEB服务器把这些URL转交给它处理;另外,一个JK插件可以向多个Tomcat服务器转发请求,它需要知道哪些URL应转发给哪个Tomcat服务器。
      4.JK本身的一些配置信息,例如,记录日志的文件路径、记录日志的级别等信息,如果上面的2、3两个问题都在各自的一个属性文件中进行设置,那么,还需要告诉这两个属性文件的位置路径。
综上所述,除了第一点是要正确下载安装插件外,其余三点都是通过配置文件来完成。
    最后这段视频详细介绍JK插件的工作原理和连接器配置,如何集成Tomcat与IIS服务器、Apache服务器的集成,着重演示了操作过程,详细讲解配置文件修改,及集成中存在的问题。要仔细理解那些配置文件的所起的作用并能正确配置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值