Tomcat与其他HTTP服务器集成

tomcat的最主要的功能是提供Servlet/jsp容器,尽管他也可以作为独立的Java Web容器,但是对静态资源(如HTML文件或图像文件)的处理速度,以及提供的Web服务器管理功能方面,Tomcat都不如其他专业的HTTP服务器,如IIS和Apache服务器?

实际应用中,常把Tomcat与其他HTTP服务器集成,此时Tomcat的工作模式通常为进程外的Servlet容器(如对Tomcat工作模式不太明白的,可以看看《Tomcat工作模式浅析》),Tomcat服务器与其他HTTP服务器之间通过专门的插件来通信。

一、Tomcat与HTTP服务器集成的原理

1,Tomcat服务器通过Connector连接器组件与客户程序建立连接,Connector组件负责接收客户请求,以及把Tomcat服务器的响应结果发送给客户,默认情况下,Tomcat在Server.xml中配制了两种连接器,如图


第一个连接器是HTTP连接器,监听8080端口,负责建立HTTP连接,在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个连接器。
第二个连接器是AJP连接器,监听8009端口,负责和其他的HTTP连接器建立连接。在把Tomcat与其他的HTTP服务器集成时,就需要用到这个连接器。

2、Web客户访问Tomcat服务器上的jsp组件的2种方式,如图





图中Web客户1直接访问Tomcat服务器上的jsp组件,他访问的url是http://localhost:8080/index.jsp。
Web客户2则通过HTTP服务器访问tomcat服务器上的jsp组件。假定HTTP服务器使用的HTTP端口为默认的80端口,那么,Web客户2访问的url为http://localhost:80/index.jsp或者http://localhost/index.jsp。

3、Tomcat与HTTP服务器之间通信


①JK插件
Tomcat提供了专门的JK插件来负责tomcat和http服务器的通信。把JK插件安置在http服务器上,当http服务器接收到客户请求时,它会通过JK插件来过滤url,JK插件根据预先设置好的url映射信息,决定是否要把客户请求转发给tomcat服务器处理。
假定在预先配置好的url映射信息中,所有的“/*.jsp”形式的url都由tomcat服务器来处理,那么上图所示例子中,JK插件将把web客户2的请求转发给tomcat服务器,tomcat服务器于是运行index.jsp,然后把响应结果传给http服务器,http服务器再把响应结果传给web客户2。
对于不同的http服务器,tomcat提供了不同的JK插件的实现模块,同一个http服务器放在不同的操作系统下,也有不同的实现模块。
⑴tomcat与windows下的Apache HTTP服务器集成:mod_jk.sol。
⑵tomcat与Linux下的Apache HTTP服务器集成:mod_jk_linux.sol。
⑶tomcat与IIS服务器集成:isapi_redirect.dll。

②AJP协议:为tomcat与http服务器之间通信而定的协议,能提供较高的通信速度和效率。











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值