Apache Tomcat服务器程序学习

本文介绍了Apache Tomcat,一个开源的Java Servlet容器,实现了多种Java EE规范,如Java Servlet、JavaServer Pages (JSP) 和Java EL等。Tomcat由ASF赞助并在Apache 2.0许可下开发。文章详细解释了Tomcat的关键组件,包括Catalina (Servlet容器)、Coyote (HTTP连接器) 和Jasper (JSP引擎)。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

Apache Tomcat,经常被成为Tomcat Server,它是由ASF开发的一个开源的java servlet容器。
tomcat实现了很多java ee的规格,包括java servlet ,java server pages(jsp),和java el,还有websocket,然后提供了一个纯净的java http web server环境给java代码运行。

Tomcat是由ASF 基于aPache 2.0开源协议下的赞助开发的一个开发者社区发展和维护的。

组件

Tomcat 4。x与Catalina (servlet容器)、Coyote (HTTP连接器)和Jasper (JSP引擎)一起发布。

Catalina

Catalina是Tomcat的servlet容器。Catalina实现了Sun Microsystems对servlet和JavaServer Pages (JSP)的规范。在Tomcat中,Realm元素表示一个“数据库”,其中包含分配给这些用户的用户名、密码和角色(类似于Unix组)。Realm的不同实现允许Catalina集成到已经创建和维护了此类身份验证信息的环境中,然后使用这些信息实现Servlet规范中描述的容器管理安全性

Coyote

Coyote是Tomcat的连接器组件,它作为web服务器支持HTTP 1.1协议。这允许名义上是Java Servlet或JSP容器的Catalina也充当普通web服务器,将本地文件作为HTTP文档提供服务。[3] Coyote侦听特定TCP端口上到服务器的传入连接,并将请求转发给Tomcat引擎来处理请求并将响应发送回请求客户机。另一个Coyote连接器Coyote JK以类似的方式侦听,但是使用JK协议将其请求转发给另一个web服务器,比如Apache。这通常提供更好的性能。

Jasper

Jasper是Tomcat的JSP引擎。Jasper解析JSP文件,将它们编译成Java代码作为servlet(可以由Catalina处理)。在运行时,Jasper检测对JSP文件的更改并重新编译它们。
从版本5开始,Tomcat使用Jasper 2,这是Sun Microsystems的JSP 2.0规范的实现。从Jasper到Jasper 2,增加了重要的功能:

  • JSP标记库池——JSP文件中的每个标记标记都由标记处理程序类处理。可以在整个JSP servlet中对标记处理程序类对象进行池化和重用。
  • 后台JSP编译——在重新编译修改过的JSP Java代码时,旧版本仍然可以用于服务器请求。一旦新的JSP servlet完成重新编译,旧的JSP servlet将被删除。
  • 当包含的页面更改时重新编译JSP——可以在运行时将页面插入并包含到JSP中。JSP不仅可以用JSP文件更改重新编译,还可以用包含的页面更改重新编译。
  • JDT Java编译器——Jasper 2可以使用Eclipse JDT (Java开发工具)Java编译器代替Ant和javac。
    随着Tomcat 7的发布,增加了三个新组件:
    Cluster:
    添加此组件是为了管理大型应用程序。它用于负载平衡,可以通过许多技术来实现。集群支持目前需要JDK 1.5或更高版本。
    High availability:
    增加了高可用性特性,以方便安排系统升级(例如,新版本、更改请求),而不影响活动环境。这是通过在主服务器在主端口上升级时,将实时流量请求发送到另一个端口上的临时服务器来实现的。它在处理高流量web应用程序上的用户请求时非常有用。
    Web application:
    它还添加了基于用户和系统的web应用程序增强,以添加对跨各种环境部署的支持。它还尝试跨网络管理会话和应用程序。
    Tomcat正在构建其他组件。Apache Tomcat还可以使用许多其他组件。这些组件可以由用户根据需要构建,也可以从其中一个镜像下载
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值