Java Servlet容器和类路径

Java Servlet容器和类路径,java,servlets,jakarta-ee,Java,Servlets,Jakarta Ee,Servlet容器集的类路径是什么 据我了解,这涉及三个部分。Servlet容器的lib目录中的JAR文件,然后是WEB-INF/classes目录中的类和WEB-INF/lib目录中的JAR文件。Servlet容器的lib目录中的类被添加到系统类路径中,动态类路径包括lib目录中的JAR文件和classes目录中的类 什么是动态类路径集?动态类路径是指向WEB-INF下的所有目录,还是包含WEB-INF/lib和WEB-INF/classes中的所有单独类和JAR文件,还是只指向两个目录WEB

Servlet容器集的类路径是什么

据我了解,这涉及三个部分。Servlet容器的
lib
目录中的JAR文件,然后是
WEB-INF/classes
目录中的类和
WEB-INF/lib
目录中的JAR文件。Servlet容器的
lib
目录中的类被添加到系统类路径中,动态类路径包括
lib
目录中的JAR文件和
classes
目录中的类


什么是动态类路径集?动态类路径是指向
WEB-INF
下的所有目录,还是包含
WEB-INF/lib
WEB-INF/classes
中的所有单独类和JAR文件,还是只指向两个目录
WEB-INF/classes
WEB-INF/lib
?假设我在
WEB-INF
中有一个名为
foo
的目录,其中包含
bar.properties
。现在是
bar.properties
也在类路径中了吗?

在您的示例中,bar.properties需要在classpath中的classes目录下。

动态类路径将
WEB-INF/classes
WEB-INF/lib
下的每个JAR文件作为单独的条目列出。
WEB-INF
下的其他文件夹不包括在内

在您的示例中,
bar.properties
将不在类路径上。将其移动到
WEB-INF/classes
,或将其放入
WEB-INF/lib
下的JAR文件中


类路径的其余部分取决于servlet容器。它是特定于实现的,但是大多数容器还有两个地方可以放置类。一个是对容器可见但对应用程序不可见的目录,另一个对容器和所有应用程序可见。由于所有应用程序都可以看到第二个类加载器,因此可以使用这些类的静态成员在应用程序之间共享信息。

如果包含WEB-INF库下的其他文件夹,那么属性文件不应该包含在类路径中吗?抱歉,这是一个重要的输入错误,我的意思是“未包含”!