如您所知,父类委派是类加载时的默认原则。 但是tomcat打破了它。为什么?
在我看来,这是不必要的。 WebAppClassLoader重写了findClass以在Web应用程序web-inf / classes,web-inf / lib上加载类就足够了。
你和我同意吗?为什么呢?答案 0 :(得分:1)
WeAppClassLoader
的{{3}}说:
默认情况下,此类加载器遵循规范所需的委派模型。首先查询系统类加载器,然后查询本地存储库,然后才会发生对父类加载器的委托。这允许Web应用程序覆盖除J2SE中的类之外的任何共享类。 JAXP XML解析器接口,JNDI接口和servlet API中的类提供了特殊处理,这些类从未从webapp存储库加载。 delegate属性允许应用程序修改此行为以将父类加载器移动到本地存储库之前。
(强调我的)