为什么tomcat类加载器会破坏父委托

为什么tomcat类加载器会破坏父委托,tomcat,classloader,Tomcat,Classloader,正如您所知,类加载时,父委托是默认原则。 但是tomcat打破了它。为什么? 在我看来,这是没有必要的。WebAppClassLoader重写findClass以在web应用程序web inf/classes、web inf/lib处加载类就足够了 你同意我的观点吗?为什么?嗯,WeAppClassLoader的 默认情况下,该类加载器遵循规范要求的委托模型。首先查询系统类加载器,然后查询本地存储库,然后才发生对父类加载器的委托。这允许web应用程序覆盖除J2SE中的类之外的任何共享类。JAXP

正如您所知,类加载时,父委托是默认原则。 但是tomcat打破了它。为什么?

在我看来,这是没有必要的。WebAppClassLoader重写findClass以在web应用程序web inf/classes、web inf/lib处加载类就足够了

你同意我的观点吗?为什么?

嗯,
WeAppClassLoader

默认情况下,该类加载器遵循规范要求的委托模型。首先查询系统类加载器,然后查询本地存储库,然后才发生对父类加载器的委托。这允许web应用程序覆盖除J2SE中的类之外的任何共享类。JAXP XML解析器接口、JNDI接口和ServletAPI中的类提供了特殊处理,这些接口从未从webapp存储库加载。委托属性允许应用程序修改此行为,以将父类装入器移到本地存储库之前


(我的重点)

顺便说一句,tomcat上的每个web应用都有唯一的WebAppClassLoader实例。