《深入剖析Tomcat》一第 3 章 连 接 器

简介: 本节书摘来自华章出版社《深入剖析Tomcat》一书中的第3章,作者(美)Budi Kurniawan,更多章节内容可以访问云栖社区“华章计算机”公众号查看

第 3 章 连 接 器

正如前言所述,Catalina中有两个主要的模块,连接器(connector)和容器(container)。在本章中,将会建立一个连接器来增强第2章中的应用程序的功能,用一种更好的方法来创建request对和response对象。兼容Servlet 2.3和2.4规范的连接器必须要负责创建javax.servlet.http.HttpServletRequest对象和javax.servlet.http.HttpServletResponse的实例,并将它们作为servlet的service方法的参数传入。在第2章中,servlet容器仅仅能运行实现了javax.servlet.servlet接口的servlet容器,并把javax.servlet.servletRequest实例和javax.servlet.servletResponse实例传递给service方法。因为连接器并不知道servlet对象的类型(即不知道该servlet对象是实现了javax.servlet.Servlet接口,还是继承自javax.servlet.GenericServlet类或javax.servlet.http.HttpServlet类),连接器总是会提供HttpServletRequest实例和HttpServletResponse实例。
在本章的应用程序中,连接器解析HTTP请求头,使servlet实例能够获取到请求头、cookie和请求参数/值等信息。可以修改第2章中Response类的getWriter()方法,使其可以工作得更好些。有了这些增强功能之后,就可以从PrimitiveServlet实例中获得完整的响应信息了,从而可以运行更加复杂一点的servlet类(例如ModernServlet)。
本章中所要建立的连接器实际上是Tomcat 4中的默认连接器的简化版,默认连接器将会在第4章中讨论。虽然在Tomcat 4中已经以不再推荐使用默认连接器了,但它却是一个很好的学习工具。在本章剩下的部分中,“连接器”特指要在本章的应用程序中建立的模块。
注意 与前面几章中的应用程序不同,在本章的应用程序中,连接器和容器是分开的。
本章的应用程序都在ex03.pyrmont包及其子包下。其中连接器所使用的类都在ex03.pyrmont.connector包及ex03.pyrmont.connector.http包下。从本章的应用程序开始,每章的应用程序中都会有一个启动类,用来启动整个应用程序。但是,另一方面,还没有一种机制来关闭应用程序。一旦应用程序运行后,就只能通过关闭控制台(在Windows平台上)或终止进程(在UNIX/Linux平台上)的方式强制关闭应用程序。
在对本章的应用程序进行说明之前,会先对org.apache.catalina.util包下的StringManager类进行说明。该类用来处理应用程序中不同模块和Catalina本身中错误消息的国际化操作。在此之后,再对应用程序进行说明。

相关文章
|
Arthas 弹性计算 安全
优雅上下线之如何安全的关闭Tomcat持久连接
优雅上下线之如何安全的关闭Tomcat持久连接
502 3
|
XML 应用服务中间件 Apache
Tomcat AJP连接器配置secretRequired=“true“,但是属性secret确实空或者空字符串,这样的组合是无效的。
Tomcat AJP连接器配置secretRequired=“true“,但是属性secret确实空或者空字符串,这样的组合是无效的。
|
Web App开发 应用服务中间件
解决在访问tomcat时出现连接失败,Firefox 无法建立到 localhost:8080 服务器的连接的问题~
解决在访问tomcat时出现连接失败,Firefox 无法建立到 localhost:8080 服务器的连接的问题~
389 0
|
JSON 前端开发 Java
管理系统总结(前端:Vue-cli, 后端Jdbc连接mysql数据库,项目部署tomcat里)
管理系统总结(前端:Vue-cli, 后端Jdbc连接mysql数据库,项目部署tomcat里)
|
应用服务中间件
IDEA 配置部署JavaWeb项目在阿里云服务器的tomcat上,成功连接服务器,但Artifact 没有成功部署
IDEA 配置部署JavaWeb项目在阿里云服务器的tomcat上,成功连接服务器,但Artifact 没有成功部署
540 0
|
Arthas 负载均衡 网络协议
Tomcat连接之KeepAlive逻辑分析
Tomcat连接之KeepAlive逻辑分析
690 1
|
网络协议 应用服务中间件 Apache
100分布式电商项目 - Tomcat性能优化(禁用AJP连接器)
100分布式电商项目 - Tomcat性能优化(禁用AJP连接器)
132 0
|
弹性计算 Oracle 安全
阿里云学生服务器(Windows)的配置以及安装Tomcat连接服务器的教程
阿里云学生服务器(Windows)的配置以及安装Tomcat连接服务器的教程
689 0
阿里云学生服务器(Windows)的配置以及安装Tomcat连接服务器的教程
|
弹性计算 Java 应用服务中间件
关于购买阿里云学生服务器以及win7安装Tomcat连接服务器的过程总结
关于购买阿里云学生服务器以及win7安装Tomcat连接服务器的过程总结
290 0
|
应用服务中间件
tomcat升级版本为8.5.68后.启动报错: java.lang.IllegalArgumentException: AJP连接器配置secretRequired=“true”
ttomcat升级版本为8.5.68后.启动报错: java.lang.IllegalArgumentException: AJP连接器配置secretRequired=“true” 属性secret确实为空 1.tomcat启动报错内容如下
989 0
tomcat升级版本为8.5.68后.启动报错: java.lang.IllegalArgumentException: AJP连接器配置secretRequired=“true”