版本:jetty 7.3.0
一:org.eclipse.jetty.webapp.WebInfConfiguration
第一个功能是创建web应用使用的临时目录,这个临时目录用于存放jsp编译后的class文件,还可以存放从war包中解压出来的资源。第二个功能是解包war文件到临时目录,如果web应用是以目录的形式部署的,则不用解包了。第三个功能是找出web应用使用的jar包路径,并存储起来以便后面的配置类使用(TaglibConfiguration)。第四个功能是把WEB-INF中的classes目录加入到classloader中,把lib目录中的jar包加入到classLoader中。
二:org.eclipse.jetty.webapp.WebXmlConfiguration
功能是查找defaultweb.xml、web.xml、overrider-web.xml这些配置文件,并把其加入到web应用的metaData中去,其次在metaData中加入StandardDescriptorProcessor处理器,这个处理器将处理web.xml中的listener、filter、servlet等等配置。WebXmlConfuguration中的deconfigure方法中有语句TODO:remove classpaths from classloader ,这是一个还没有实现的功能,意思是从web应用对应的classLoader中移除classpath资源,主要是被打开的jar文件。希望jetty的下一个版本赶快实现这个功能。
三:org.eclipse.jetty.webapp.MetaInfConfiguration
扫描WEB-INF/lib下的jar文件中的META-INF目录,查找其中的web-fragment.xml配置、META-INF/resources/配置、*.tld配置
四:org.eclipse.jetty.webapp.FragmentConfiguration
处理所有jar包中查找到的/META-INF/web-fragment.xml文件
五:org.eclipse.jetty.plus.webapp.EnvConfiguration
创建web应用的JNDI环境,解析WEB-INF/jetty-env.xml文件到JNDI环境中
六:org.eclipse.jetty.plus.webapp.PlusConfiguration
处理web.xml中的env-entry、resource-ref等等标签(和JNDI环境有关),加锁JNDI环境(java:comp)
七:org.eclipse.jetty.annotations.AnnotationConfiguration
支持JEE5注解特性
八:org.eclipse.jetty.webapp.JettyWebXmlConfiguration
处理WEB-INF下的jetty-web.xml或web-jetty.xml,支持用户扩展配置
九:org.eclipse.jetty.webapp.TagLibConfiguration
处理*.tld配置文件,这些配置文件可能存在于web.xml、WEB-INF/*.tld、WEB-INF/lib下的jar包中的META-INF/*.tld