J2EE平台采用了分布式应用程序模型

运行在客户端的客户层组件 Client
运行在J2EE服务器中的web层组件 JSP
运行在J2EE服务器中的商业层组件 Enterprise Java Bean &Enterprise Beans
运行在J2EE服务器中的企业信息系统(EIS)组件 DB (数据存储服务器)

J2EE组件
1.J2EE客户端:Web client,Applets,Java Application
2.J2EE中间层 EJB
3.企业信息系统层

J2EE容器:组件的水果箱,容器中包含若干组件,并未这些组件提供服务。

web组件,ejb等首先都要装配到一个J2EE应用程序中,并且部署到相应的容器中,才可以执行。

J2EE服务器  是J2EE产品的运行容器,J2EE服务器提供EJB容器和Web容器。
EJB容器     管理他所包含的EJB,负责对象的注册,提供远程接口,创建清除对象实例,检查对象安全性,
            管理对象的活动并协调分布式事务处理
Web容器     管JSP页面和Servlet组件的执行。Web组件和Web容器运行在J2EE服务器中。
           
客户端应用程序容器 管理程序客户端组件的运行。

J2EE的部署:J2EE组件分别被打包并绑定到一个J2EE应用中以供部署,每一个组件,组件相关资源(gif、html)
            ,以及一个部署说明组成了一个模块并被添加到J2EE应用程序中。
            一个J2EE应用有一个或几个EJB组件,web组件或者应用程序客户端组成。
            J2EE应用程序及其任意模块都有自己的部署说明,就是一个XML文件。
J2EE的所有应用被打到一个Enterprise Archive(ear)文件中,一个ear文件就是一个有.ear扩展名的标准Java
Archive(JAR)文件,J2EE SDK中有程序部署工具的GUI版本通过这个部署工具可以建立ear文件,并在其中添加
JAR和war (web Archive)

说明:
1 每一个EJB JAR 文件总包含一份部署说明,一组EJB以及相关文件。

2 每一个应用程序的客户端的JAR文件包含一份部署说明,应用程序客户端的类文件和相关文件。


3 每一个war文件包含一份部署说明 Web组件和相关资源。


使用Ear文件和模块可以方便的利用统一组件装配成不同J2EE应用

J2EE 标准:
EJB2.0 /JDBC API 2.0 / Java servlet(服务器端小程序,对应applet,响应客户http请求,内部封装HTTP请求) / JSP /JMS /JNDI /JTA /JAVA MAIL API /JAXP/JCA/JAAS



J2EE并非一个产品,而是一系列的标准。市场上可以看到很多实现了J2EE的产品,如BEA WebLogic,IBM WebSphere以及开源的JBoss等等。





· Servlet

      Servlet是Java平台上的CGI技术。Servlet在服务器端运行,动态地生成Web页面。与传统的CGI和许多其它类似CGI的技术相比, Java Servlet具有更高的效率并更容易使用。对于Servlet,重复的请求不会导致同一程序的多次转载,它是依靠线程的方式来支持并发访问的。

· JSP

      JSP(Java Server Page)是一种实现普通静态HTML和动态页面输出混合编码的技术。从这一点来看,非常类似Microsoft ASP、PHP等技术。借助形式上的内容和外观表现的分离,Web页面制作的任务可以比较方便地划分给页面设计人员和程序员,并方便地通过JSP来合成。在运行时态, JSP将会被首先转换成Servlet,并以Servlet的形态编译运行,因此它的效率和功能与Servlet相比没有差别,一样具有很高的效率。

· EJB

      EJB定义了一组可重用的组件:Enterprise Beans。开发人员可以利用这些组件,像搭积木一样建立分布式应用。在装配组件时,所有的Enterprise Beans都需要配置到EJB服务器(一般的Weblogic、WebSphere等J2EE应用服务器都是EJB服务器)中。EJB服务器作为容器和低层平台的桥梁管理着EJB容器,并向该容器提供访问系统服务的能力。所有的EJB实例都运行在EJB容器中。EJB容器提供了系统级的服务,控制了EJB的生命周期。EJB容器为它的开发人员代管了诸如安全性、远程连接、生命周期管理及事务管理等技术环节,简化了商业逻辑的开发。EJB中定义了三种Enterprise Beans: