1、Deployment Descriptor部署描述符:
-
部署描述符是要部署到Web容器或EJB容器的Web应用程序或EJB应用程序的配置文件。
-
部署描述符应包含EJB应用程序中所有企业bean的标准结构信息。
-
文件名是ejb-jar.xml,EJB的描述符通知EJB服务器有关构成bean实现的类,主接口和远程接口。
-
标准部署描述符应包含每个企业bean的结构信息。
2、什么是部署描述符?
-
Deployment Descriptor是一个扩展名为.xml的XML文档。
-
它基本上描述了应用程序或模块或组件的部署设置。
-
在运行时,J2EE服务器读取部署描述符并理解它,然后根据描述符中提到的信息对组件或模块进行操作。
-
例如,EJB模块有一个部署描述符ejb-jar.xml,我们在其中提到它是会话或实体还是消息驱动的bean以及Bean类所在的位置以及什么类型的事务等等。
-
简而言之,没有部署描述符Container(EJB / Servlet / JSP容器)不知道如何处理该模块。
-
部署描述符是定义以下类型信息的文件:
-
EJB结构信息,例如EJB名称,类,home和远程接口,bean类型(会话或实体),环境条目,资源工厂引用,EJB引用,安全角色引用,以及基于bean类型的其他信息。
-
应用程序程序集信息,例如EJB引用,安全角色,安全角色引用,方法权限和容器事务属性。
-
指定程序集描述符信息是应用程序组装器执行的可选任务。
3、 web.xml文件详解:
WEB工程加载web.xml过程
经过个人测试,WEB工程加载顺序与元素节点在文件中的配置顺序无关。即不会因为 filter 写在 listener 的前面而会先加载 filter。WEB容器的加载顺序是:ServletContext -> context-param -> listener -> filter -> servlet。并且这些元素可以配置在文件中的任意位置。
加载过程顺序如下:
启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取和两个结点。
紧急着,容创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文。
容器将转换为键值对,并交给servletContext。
容器创建中的类实例,创建监听器。