准备开始阅读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 Context的Container。其父Container一般为Host(代表一个虚拟主机),其子Container一般为Wrapper(代表一个具体的Servlet实现)。
该interface有很多和Servlet Context相关的函数。例如addParameter、addErrorPage、addServletMapping等等,不难看出这些函数和每个web application的web.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。该接口定义了一系列的生命期事件,并提供start、stop该组件和为该组件添加、删除listener的方法。
<o:p> </o:p>
org.apache.catalina
Interface LifecycleListener
定义了一个接受LifecycleEvent类型参数的lifecycleEvent函数。
<o:p> </o:p>
org.apache.catalina
Interface Loader
该接口代表了Container用来载入class的Java ClassLoader对象。个人认为该接口的实现类应为Java ClassLoader的一个wrapper。
TO DO 实现该接口的一些要求(与Context的生命期有关)。
<o:p> </o:p>
org.apache.catalina
Interface Manager
用来管理某个特定Container的Session池。
TO DO 实现该接口的一些要求(与Context的生命期有关)。
<o:p> </o:p>
org.apache.catalina
Interface Pipeline
一个Pipeline就是由一些Value组成的序列。当request到达时,Pipeline将其按顺序通过每一个Value。Pipeline的最后一个Value被称为Basic。Basic将完成response的生成,而不是将request继续传递下去。
<o:p> </o:p>
org.apache.catalina
Interface Realm
TO DO
分享到:
相关推荐
笔记作者在深入Tomcat源代码时发现,请求处理过程中,过滤器链的组装是在`StandardWrapperValve`中进行的,具体实现位于`org.apache.catalina.core.ApplicationFilterFactory.createFilterChain`方法。作者尝试复制...
- src:Tomcat源代码。 - webapps:发布Web应用的主要目录。 - work:Tomcat翻译JSP文件后生成的临时Java和class文件。 5. Tomcat 配置与管理 - server.xml:配置Tomcat服务器的全局参数,如端口设置、连接器、...
在这个"Servlet & JSP学习笔记NetBeans源代码"压缩包中,你将找到一系列与Servlet和JSP相关的示例代码,这些代码是基于NetBeans IDE编写的,并且是在Tomcat服务器上运行的。 Tomcat是一个开源的轻量级Web服务器和...
- **开源免费**:Tomcat是完全开源的,并且遵循Apache许可证,这意味着任何人都可以自由地使用和修改Tomcat源代码。 - **跨平台**:由于Tomcat是基于Java编写的,因此可以在任何支持Java的平台上运行,包括Windows、...
Java秒杀系统方案优化高性能高并发学习实战源代码以及笔记..zip 章节笔记 第1章-课程介绍及项目框架搭建 知识点 使用spring boot 搭建项目基础框架 使用Thymeleaf做页面展示,封装Result统一结果 集成 mybatis + ...
spring mvc 基础笔记 源代码. 下载后倒入到eclipse当中。 请重新倒入Tomcat安装目录lib文件夹下的servlet-api.jar. 如果是jQuery.js文件有红色叉表示错误的话请无视。
- SVN客户端(用于下载项目源代码) - Apache Tomcat服务器 - MySQL数据库(用于存储数据) 2. **工具安装**: - 如果Eclipse IDE未集成SVN插件,需通过Eclipse的帮助菜单安装SVN插件:`Help` -> `Install New ...
本项目“javaweb 云笔记”采用了SSM框架,提供了完整的源代码,有助于开发者学习和理解如何在实际项目中应用这些框架。 1. **Spring框架**:Spring是Java企业级应用的核心框架,它提供了依赖注入(Dependency ...
文章可能详细讨论了Tomcat的日志生成过程,分析了可能的切入点,如修改或绕过日志配置、利用特定的请求头或参数、甚至可能涉及对Tomcat源代码的理解和修改。 文章还可能提及了如何在不影响服务器正常运行的前提下,...
这份"Servlet&JSP学习笔记源代码"是由林信良编著,提供了丰富的实例代码,旨在帮助学习者深入理解这两种技术。 Servlet是Java编程语言的一个接口,允许Java代码与HTTP服务器进行交互。它扩展了服务器的功能,使得...
在"Servlet&JSP学习笔记源代码"中,林信良教授通过实例讲解了这两项技术的基础和进阶知识。这些源代码是在Eclipse集成开发环境中创建的,Eclipse是Java开发的主流工具,支持丰富的插件,使得开发、调试和部署Servlet...
测试连接池的代码通常包括创建数据源,获取并关闭连接,以及执行SQL语句等操作。这部分源码可以从压缩包中获取,通过单元测试或集成测试来验证连接池的配置是否正确,性能是否满足需求。 总结,Tomcat连接池的配置...
"基于JSP开发的云笔记系统源代码+数据库"这一标题表明,这是一个使用JavaServer Pages(JSP)技术构建的云笔记应用的完整源代码包,其中包括了与之配套的数据库文件。这通常意味着用户可以下载、学习、修改或部署这...
Tomcat的源代码开放,这意味着开发者可以查看并理解其内部工作机制,这对于学习和定制服务器行为非常有帮助。源码阅读可以帮助我们理解请求处理流程、线程管理、部署策略等核心概念。通过源码学习,我们可以更深入地...
【标题】"Tomcat笔记+源码"涵盖了关于Apache Tomcat服务器的重要学习资源,这包括了实际操作的笔记以及源代码分析。Tomcat是Java Servlet和JavaServer Pages(JSP)技术的开源应用服务器,是Java EE应用部署的常用...
"javaweb笔记+代码(狂神说java)"可能是一份由知名讲师“狂神”编写的教程资料,包含了学习JavaWeb开发的知识点以及相应的实践代码。 在JavaWeb开发中,以下是一些关键知识点: 1. **Servlet**: Servlet是Java Web...
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台...
4. **在代码中使用数据源**:现在,你的Web应用程序可以通过JNDI查找并使用数据源。以下是一个简单的Java示例: ```java Context initContext = new InitialContext(); Context envContext = (Context) ...
【标题】"Tomcat学习笔记 - 使用JNDI数据源" 在Java应用服务器如Tomcat中,使用JNDI(Java Naming and Directory Interface)数据源是一种标准的方式,它允许我们集中管理和配置数据库连接,提高应用的可移植性和可...
因此,开发者在使用这些源代码时,需要结合其他来源,例如“我的智囊团ssh笔记”,来获取缺失的依赖,以便能够成功编译和运行项目。笔记可能包含了有关如何配置环境、添加哪些外部库以及如何解决依赖问题的详细信息...