`
gogole_09
  • 浏览: 201649 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

tomcat init中加载哪些类?

阅读更多

tomcat初始化过程中,会加载一些安全的类。

 那到底会有哪些类在启动tomcat的时候被加载的呢?

 

 简单罗列一下代码和图片, 可以有一个大致的了解。

 

 初始化的时候,SecurityClassLoad类的静态方法,sercurityClassLoad方法会被调用, 加载进一些满足安全规则的类:

 public static void securityClassLoad(ClassLoader loader) throws Exception {
        if (System.getSecurityManager() == null) {
            return;
        }
        //
        loadCorePackage(loader);
        loadLoaderPackage(loader);
        loadSessionPackage(loader);
        loadUtilPackage(loader);
        loadJavaxPackage(loader);
        loadCoyotePackage(loader);
        loadHttp11Package(loader);
        loadTomcatPackage(loader);
    }

 


  那每个方法中,都会加载哪些类呢?

 

 首先是加载核心的一些类,包括有:

 

再是加载web应用的资源加载类:


之后是关于Session的一些类:

 

再就是tomcat内部的一些工具类:


 

然后将Cookie相关的类加载进来:


接着要加载入连接器的相关类:

 

加载HTTP1.1协议的处理类:

 

  最后是tomcat中用于处理SSL的类:

 


PS:

//java中类$后面跟数字是匿名类编译出来的
//java中类$后面加字母是内部类编译出来的

 

 

 

  这里先简单罗列一下, 至于每个包下相关的类的作用,后续再找时间作介绍,或者有兴趣的朋友可以去查看相关的代码了解。

  • 大小: 80 KB
  • 大小: 94.8 KB
  • 大小: 203 KB
  • 大小: 55 KB
  • 大小: 24.2 KB
  • 大小: 31.8 KB
  • 大小: 49.1 KB
  • 大小: 36 KB
  • 大小: 63.6 KB
分享到:
评论
4 楼 javatozhang 2013-11-01  
楼主真是良苦用心,很可惜我现在才对Tomcat感兴趣并有时间来研究它,恨不能喝lz同时……
3 楼 zxlsky1314 2010-09-24  
学习了,希望楼主能补充得细致点,大致说下每个包的用处和load的时间点
2 楼 gogole_09 2010-09-24  
polaris1119 写道
比较感兴趣这些图用什么画的?

思维导图软件 xmind.
1 楼 polaris1119 2010-09-23  
比较感兴趣这些图用什么画的?

相关推荐

    tomcat启动的问题--apr

    信息: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: D:\Java\jre1.5.0_11\bin;.;C:\WINDOWS\system32;C:\WINDOWS;C:\...

    解决eclpise中启动tomcat6出现红色警告的问题

    在eclipse GANYMEDE中apache-tomcat-6.0.16加载工程后,启动服务器就会出现如下的红色警告信息, 2008-10-11 21:33:55 org.apache.tomcat.util.digester.SetPropertiesRule begin 警告: [SetPropertiesRule]{Server/...

    java 面试题 总结

    声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其...

    java面试题

    主要是将所有组件在spring提供的外部容器中加载。提高安全性,减低耦合性,使各个框架或者类之间的依赖性降低。 什么是声明式的事务管理?为什么要用?spring如何实现声明式的事务管理? 答:声明式的事务管理主要是将...

    超级有影响力霸气的Java面试题大全文档

     声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,...

    说一说servlet的生命周期

     当客户第一次请求时,首先判断是否存在servlet对象,第一次请求时不存在,则由tomcat创建对象,调用init()方法对其初始化,用service()方法判断是post请求还是get请求,调用对应的方法返回给客户。  当客户第...

    Jersey-Rest-Hello-World

    Tomcat8(Oracle JDK 1.7 和 1.8)上工作堆空间设置为 -Xmx256m这个怎么运作: 网页.xml: <init><param>javax.ws.rs.Application</param><param>de.marrrschine.draftparser.draftparser_backend.MyApplication...

    cms后台管理

    将解压后得到的jeecms-3.0.2-final文件夹下的root文件夹更名为jeecms拷贝到tomcat 安装目录下的webapps 文件夹下(例如: D:\Tomcat 6.0\webapps\),启动tomcat,在地址栏中输入http://localhost:8080/jeecms, 您...

    快逸报表在J2EE部署中最简实例

    -- 配置快逸加载数据时候的datasource --> <jdbc-ds-configs> <jdbc-ds-config> <name>mysql</name> <db-type>mysql</db-type> <connection-url> jdbc:mysql://localhost:3306/test ...

    FlexChart:弹性图

    FlexChart如何查看效果拷贝 chartapp1/bin/ 下面的文件,到服务器(如tomcat)的某个应用的子目录下,然后访问bobochart.html即可文件简介BasicLib一个基础的lib项目,提供了工具类等供其他项目使用chartslib1chart...

    SpringBoot开发非常美观的java博客系统(包含后台管理功能)

    进入系统后, 菜单加载不出来, 那应该是你没有导 db_init.sql 点标签显示乱码, 请设置Tomcat的 URIEncoding 为 UTF-8 项目截图 SpringBoot开发非常美观的java博客系统(包含后台管理功能) 转自:...

    Java学习笔记-个人整理的

    {2.8}框架中移动的小球}{59}{section.2.8} {2.9}抽象与接口}{59}{section.2.9} {2.10}访问控制}{60}{section.2.10} {2.10.1}类的属性}{60}{subsection.2.10.1} {2.10.2}类的方法}{61}{subsection.2.10.2} {...

    JAVA核心知识点整理(有效)

    1. 目录 1. 2. 目录 .........................................................................................................................................................1 JVM ........................

Global site tag (gtag.js) - Google Analytics