12

Servlet 容器集的类路径是什么?

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

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

4

2 回答 2

9

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

在您的示例中,bar.properties不会在类路径中。将其移至WEB-INF/classes. 或将其放入WEB-INF/lib.

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

于 2008-11-20T16:24:53.060 回答
2

在您的示例中, bar.properties 需要位于类目录下才能位于类路径中。

于 2008-11-20T13:31:49.480 回答