初始化的时候,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的类:
- //java中类$后面跟数字是匿名类编译出来的
- //java中类$后面加字母是内部类编译出来的