Servlets WEB-INF在JavaEEWeb应用程序中代表什么?

Servlets WEB-INF在JavaEEWeb应用程序中代表什么?,servlets,jakarta-ee,web-applications,web-inf,Servlets,Jakarta Ee,Web Applications,Web Inf,互联网上的大多数地方都说它代表WEB INF格式 我相当怀疑。该文件夹包含可执行文件信息不是一个合适的名称。据我所知,正如你所说,“INF”代表“信息”。它可能被命名为WEB-INF,因为它与JAR文件中的META-INF目录相似。有时,目录的含义会随着时间的推移发生很大变化,以至于不再有意义。例如,Unix/Linux中的bin目录通常包含非二进制的“可执行”文件,如shell脚本。我认为,在jar文件中镜像META-INF目录(其中包含META信息)的真正名称是WEB-INF。我明白你所说的

互联网上的大多数地方都说它代表WEB INF格式


我相当怀疑。该文件夹包含可执行文件信息不是一个合适的名称。

据我所知,正如你所说,“INF”代表“信息”。它可能被命名为
WEB-INF
,因为它与JAR文件中的
META-INF
目录相似。有时,目录的含义会随着时间的推移发生很大变化,以至于不再有意义。例如,Unix/Linux中的
bin
目录通常包含非二进制的“可执行”文件,如shell脚本。

我认为,在jar文件中镜像META-INF目录(其中包含META信息)的真正名称是WEB-INF。我明白你所说的可执行文件和“信息”一样重要,但重点是它不包含应用程序的文档。

我认为,唯一合乎逻辑的定义是WEB-INF是META-INF的镜像。命名对于初学者来说非常重要,如果它让人困惑,那么主题就变得更难理解。

WEB\u INF文件夹包含
WEB.xml
(部署描述符)文件、类、,外部libs等和as
web.xml
文件包含有关容器URL、文件等的信息,该文件夹称为
web-INF

它是存储私有应用程序内容的目录。您的应用程序需要但客户端不需要的任何内容都可以存储在那里。该目录中的任何内容对web都不可见

资料来源:


META-INF/services/基本上包含代码,如果使用的是一种非常简单的专业语言。重复的问题以更好的方式提出:@jon skeet:如果您希望更改标签,就像已经完成了一样-现在将编辑答案,这样仍然有意义:)(现在这个答案和安迪·怀特的一样有意义吗?我很想删除。)坚持使用
META-INF
有什么错?既然
META-INF
已经达到了所需的目的,为什么还要发明
WEB-INF
?@Pacerier:关注点分离。
WEB-INF
可以作为WEB资源访问。例如
ServletContext#getResource()/getResourceAsStream()
可以访问它,也可以访问
ServletRequest#getRequestDispatcher()
META-INF
不能作为web资源访问,也不应该作为web资源访问。也就是说,您不应该将JSP文件之类的web资源放在那里。这并没有真正回答
web-INF
实际上代表什么的问题。这并没有真正回答
web-INF
实际上代表什么的问题。添加了一个更好的答案,并添加了一个接受:)引用@andy white
,据我所知,“INF”代表“信息”,正如你所说。它可能被命名为WEB-INF,因为它与JAR文件中的META-INF目录相似。