`
iamthewind
  • 浏览: 2509 次
  • 来自: ...
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Tomcat源代码阅读笔记[1]

阅读更多

准备开始阅读Tomcat 5.5的源代码,可能会把笔记和进度贴在这里。

org.apache.catalina
Interface Authenticator

一个被用作标记的interface,和serilized interface类似,自身没有定义任何函数。被用来标记提供认证服务的类。

<o:p> </o:p>

org.apache.catalina
Interface Cluster

TO DO

<o:p> </o:p>

org.apache.catalina
Interface Contained

用作表明某个类至多被一个Container包含。

<o:p> </o:p>

org.apache.catalina
Interface Container

该接口的作用是从客户端接受request并生成response。为了能够在运行时定义一个Container的处理行为,一般来说实现Container的类还会同时实现Pipeline这个接口,通过在运行时动态改变Pipeline中包含的Value对象的排列来改变对request的处理方法。

Container出现在Catalina中的多个概念层次,分别对应为

            Engine  - To DO Representation of the entire Catalina servlet engine, most likely containing one or more subcontainers that are either Host or Context implementations, or other custom groups.

            Host     - TO DO Representation of a virtual host containing a number of Contexts

            Context            - TO DO Representation of a single ServletContext, which will typically contain one or more Wrappers for the supported servlets.

            Wrapper          - TO DO Representation of an individual servlet definition (which may support multiple servlet instances if the servlet itself implements SingleThreadModel).

四个子interface

一个Container可以包含子Container。该interface定义了一些和操作其包含的子Container相关的事件,如加入和删除子Container

<o:p> </o:p>

org.apache.catalina
Interface ContainerListener

定义了一个接受ContainerEvent类型参数的containerEvent函数。

<o:p> </o:p>

org.apache.catalina
Interface ContainerServlet

TO DO

<o:p> </o:p>

org.apache.catalina
Interface Context

用来代表Servlet ContextContainer。其父Container一般为Host(代表一个虚拟主机),其子Container一般为Wrapper(代表一个具体的Servlet实现)。

interface有很多和Servlet Context相关的函数。例如addParameteraddErrorPageaddServletMapping等等,不难看出这些函数和每个web applicationweb.xml中的元素相关。

<o:p> </o:p>

org.apache.catalina
Interface Engine

TO DO

<o:p> </o:p>

org.apache.catalina
Interface Group

用来代表一个user组。

<o:p> </o:p>

org.apache.catalina
Interface Host

TO DO 用来代表一个虚拟主机。其父Container一般为Engine,其子Container一般为Context

<o:p> </o:p>

org.apache.catalina
Interface InstanceListener

TO DO

<o:p> </o:p>

org.apache.catalina
Interface Lifecycle

当某个组件需要支持生命期时,就实现这个interface。该接口定义了一系列的生命期事件,并提供startstop该组件和为该组件添加、删除listener的方法。

<o:p> </o:p>

org.apache.catalina
Interface LifecycleListener

定义了一个接受LifecycleEvent类型参数的lifecycleEvent函数。

<o:p> </o:p>

org.apache.catalina
Interface Loader

该接口代表了Container用来载入classJava ClassLoader对象。个人认为该接口的实现类应为Java ClassLoader的一个wrapper

TO DO 实现该接口的一些要求(与Context的生命期有关)。

<o:p> </o:p>

org.apache.catalina
Interface Manager

用来管理某个特定ContainerSession池。

TO DO 实现该接口的一些要求(与Context的生命期有关)。

<o:p> </o:p>

org.apache.catalina
Interface Pipeline

一个Pipeline就是由一些Value组成的序列。当request到达时,Pipeline将其按顺序通过每一个ValuePipeline的最后一个Value被称为BasicBasic将完成response的生成,而不是将request继续传递下去。

<o:p> </o:p>

org.apache.catalina
Interface Realm

TO DO

分享到:
评论

相关推荐

    Tomcat 源代码调试笔记 - 看不见的 Shell1

    笔记作者在深入Tomcat源代码时发现,请求处理过程中,过滤器链的组装是在`StandardWrapperValve`中进行的,具体实现位于`org.apache.catalina.core.ApplicationFilterFactory.createFilterChain`方法。作者尝试复制...

    tomcat学习精华笔记

    - src:Tomcat源代码。 - webapps:发布Web应用的主要目录。 - work:Tomcat翻译JSP文件后生成的临时Java和class文件。 5. Tomcat 配置与管理 - server.xml:配置Tomcat服务器的全局参数,如端口设置、连接器、...

    Servlet &JSP学习笔记NetBeans源代码

    在这个"Servlet & JSP学习笔记NetBeans源代码"压缩包中,你将找到一系列与Servlet和JSP相关的示例代码,这些代码是基于NetBeans IDE编写的,并且是在Tomcat服务器上运行的。 Tomcat是一个开源的轻量级Web服务器和...

    Tomcat学习笔记

    - **开源免费**:Tomcat是完全开源的,并且遵循Apache许可证,这意味着任何人都可以自由地使用和修改Tomcat源代码。 - **跨平台**:由于Tomcat是基于Java编写的,因此可以在任何支持Java的平台上运行,包括Windows、...

    Java秒杀系统方案优化高性能高并发学习实战源代码以及笔记..zip

    Java秒杀系统方案优化高性能高并发学习实战源代码以及笔记..zip 章节笔记 第1章-课程介绍及项目框架搭建 知识点 使用spring boot 搭建项目基础框架 使用Thymeleaf做页面展示,封装Result统一结果 集成 mybatis + ...

    spring mvc 基础笔记 源代码

    spring mvc 基础笔记 源代码. 下载后倒入到eclipse当中。 请重新倒入Tomcat安装目录lib文件夹下的servlet-api.jar. 如果是jQuery.js文件有红色叉表示错误的话请无视。

    Tomcat部署笔记

    - SVN客户端(用于下载项目源代码) - Apache Tomcat服务器 - MySQL数据库(用于存储数据) 2. **工具安装**: - 如果Eclipse IDE未集成SVN插件,需通过Eclipse的帮助菜单安装SVN插件:`Help` -&gt; `Install New ...

    javaweb 云笔记项目源代码(SSM)

    本项目“javaweb 云笔记”采用了SSM框架,提供了完整的源代码,有助于开发者学习和理解如何在实际项目中应用这些框架。 1. **Spring框架**:Spring是Java企业级应用的核心框架,它提供了依赖注入(Dependency ...

    Tomcat容器攻防笔记之隐匿行踪 .pdf

    文章可能详细讨论了Tomcat的日志生成过程,分析了可能的切入点,如修改或绕过日志配置、利用特定的请求头或参数、甚至可能涉及对Tomcat源代码的理解和修改。 文章还可能提及了如何在不影响服务器正常运行的前提下,...

    Servlet&JSP;学习笔记源代码

    这份"Servlet&JSP学习笔记源代码"是由林信良编著,提供了丰富的实例代码,旨在帮助学习者深入理解这两种技术。 Servlet是Java编程语言的一个接口,允许Java代码与HTTP服务器进行交互。它扩展了服务器的功能,使得...

    Servlet&JSP学习笔记源代码

    在"Servlet&JSP学习笔记源代码"中,林信良教授通过实例讲解了这两项技术的基础和进阶知识。这些源代码是在Eclipse集成开发环境中创建的,Eclipse是Java开发的主流工具,支持丰富的插件,使得开发、调试和部署Servlet...

    tomcat 连接池的配置笔记以及测试源码

    测试连接池的代码通常包括创建数据源,获取并关闭连接,以及执行SQL语句等操作。这部分源码可以从压缩包中获取,通过单元测试或集成测试来验证连接池的配置是否正确,性能是否满足需求。 总结,Tomcat连接池的配置...

    基于JSP开发的云笔记系统源代码+数据库

    "基于JSP开发的云笔记系统源代码+数据库"这一标题表明,这是一个使用JavaServer Pages(JSP)技术构建的云笔记应用的完整源代码包,其中包括了与之配套的数据库文件。这通常意味着用户可以下载、学习、修改或部署这...

    web学习笔记 —— tomcat

    Tomcat的源代码开放,这意味着开发者可以查看并理解其内部工作机制,这对于学习和定制服务器行为非常有帮助。源码阅读可以帮助我们理解请求处理流程、线程管理、部署策略等核心概念。通过源码学习,我们可以更深入地...

    Tomcat笔记+源码!!!!!!!!!!

    【标题】"Tomcat笔记+源码"涵盖了关于Apache Tomcat服务器的重要学习资源,这包括了实际操作的笔记以及源代码分析。Tomcat是Java Servlet和JavaServer Pages(JSP)技术的开源应用服务器,是Java EE应用部署的常用...

    javaweb笔记+代码(狂神说java)

    "javaweb笔记+代码(狂神说java)"可能是一份由知名讲师“狂神”编写的教程资料,包含了学习JavaWeb开发的知识点以及相应的实践代码。 在JavaWeb开发中,以下是一些关键知识点: 1. **Servlet**: Servlet是Java Web...

    tomcat使用笔记

    Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台...

    tomcat6.0 数据源配置

    4. **在代码中使用数据源**:现在,你的Web应用程序可以通过JNDI查找并使用数据源。以下是一个简单的Java示例: ```java Context initContext = new InitialContext(); Context envContext = (Context) ...

    Tomcat学习笔记 - 【使用JNDI数据源】

    【标题】"Tomcat学习笔记 - 使用JNDI数据源" 在Java应用服务器如Tomcat中,使用JNDI(Java Naming and Directory Interface)数据源是一种标准的方式,它允许我们集中管理和配置数据库连接,提高应用的可移植性和可...

    我的智囊团ssh源代码

    因此,开发者在使用这些源代码时,需要结合其他来源,例如“我的智囊团ssh笔记”,来获取缺失的依赖,以便能够成功编译和运行项目。笔记可能包含了有关如何配置环境、添加哪些外部库以及如何解决依赖问题的详细信息...

Global site tag (gtag.js) - Google Analytics