本博客是部署在Tomcat上的,Tomcat很久以前用过,记得当时都还是5.0版本 ,现在都已经是9.0了,其间还看过一本叫<How Tomcat works>的书,但从来没有看完过。曾经有几次想把Tomcat的源码好好地撸一遍,但也总是眼高手低,有好几次才刚刚开了头,就歇菜了。借这个博客的机会,想好好地读一下它的源码。那就,开始吧。注:本文所用的代码是Tomcat9.0。
conf文件夹下的Server.xml是Tomcat的配置文件,基础配置都是放在这个文件里。我们从Tomcat的入口类Bootstrap加载和解析这个文件开始。
private void load(String[] arguments) throws Exception {// Call the load() method String methodName = "load"; Object param[]; Class<?> paramTypes[]; if (arguments==null || arguments.length==0) { paramTypes = null; param = null; } else { paramTypes = new Class[1]; paramTypes[0] = arguments.getClass(); param = new Object[1]; param[0] = arguments; } Method method = catalinaDaemon.getClass().getMethod(methodName, paramTypes); if (log.isDebugEnabled()) log.debug("Calling startup class " + method); method.invoke(catalinaDaemon, param);
}
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于