我创建了一个带有index.jsp的servlet项目(MyEE)..启动时(htt ..//.../ MyEE),容器将加载我的index.jsp
(我的理解 - jsp解析器将在index.jsp中创建一个类文件,并将其放在名为index_jsp.class的org.apache.jsp包中,然后容器将加载该类文件)
因此,在启动根URL时,容器将加载类文件org.apache.jsp.index_jsp(在catalina文件夹中 - 我使用的是tomcat)。
仅仅是为了测试,我在我的项目中创建了类似的包和一个同名的类,如org.apache.jsp.index_jsp(在classes文件夹中)......
所以我有一个重复的课程,,,,,, ... 但是在启动根URL时...容器完全加载jsp类而没有任何冲突.....?
容器如何实现?
(我也尝试在jar和classes文件夹中使用相同的类..它在类文件夹中加载类没有任何冲突!!!!如何???????)
答案 0 :(得分:1)
类加载器在构成其类路径的所有目录和jar中查找类文件。正如它所发现的一样,它使用这个,如果另一个目录或jar也包含一个具有相同名称的类,则不关心它。