我正在尝试解释Web应用程序的基本原理.我在Meta-INF和WEB-INF上遇到了这个问题.那些目录是如何得到这些名字的?
解决方法
Jar文件实际上是具有额外信息的ZIP文件,并且可能更好地编制索引.将额外信息打包到ZIP文件中时,将其放置在不太可能与普通ZIP文件内容相冲突的位置变得很重要.
选择Meta-INF作为可以存储有关JAR文件信息的目录是尝试将目录用作ZIP文件中的名称空间.基本上,如果它存储在Meta-INF中,那么它是Meta数据信息,或者(选择Meta的可能含义),“self information”或“abstract information”.
这样可以存储影响ZIP文件本身的ZIP文件的信息,而不会破坏ZIP文件的打包.这是关键,因为它阻止了创建一种新的便携式压缩格式,并将其推广到Java代码打包的目的.随着人们习惯于Meta-INF的实用性,ZIP文件中的新的“名称空间”被创建用于特定的包装格式,例如“WEB-INF”.
ZIP文件格式的第一个“扩展名”是添加了清单(MANIFEST.MF)和可选的添加索引列表(用于加速项目提取).现在,这样的文件(由于具有已知的扩展名称空间)已经能够以许多其他方式扩展,例如最近添加了用于服务注册的子目录“服务”.