Web 容器 与 EJB 容器的认识

xuguokun 2012-05-03

      J2EE 容器为 J2EE 应用程序组件提供运行时支持。J2EE 应用程序组件使用容器的协议和方法访问服务器提供的其他应用程序组件和服务。Application Server 提供了应用程序客户机容器、小应用程序容器、Web 容器和 EJB 容器。

1.web容器:

给处于其中的应用程序组件(JSP,SERVLET)提供一个环境,使JSP,SERVLET直接更容器中的环境变量接口交互,不必关注其它系统问题。主要有WEB服务器来实现。例如:TOMCAT,WEBLOGIC,WEBSPHERE等。该容器提供的接口严格遵守J2EE规范中的WEBAPPLICATION标准。我们把遵守以上标准的WEB服务器就叫做J2EE中的WEB容器。

Web容器中的HTTP会话设置。HTTP会话是唯一将状态数据写入持久性存储的Web会话。

1、设置会话超时值请执行以下步骤

1.1在树组件中,选择“配置”节点。

1.2选择要配置的实例:

a.要配置特定的实例,请选择该实例的配置节点。例如,对于默认实例server,请选择server-config节点。

b.要配置所有实例的默认设置,请选择default-config节点。

1.3选择“Web容器”节点。

1.4单击“会话属性”选项卡。

1.5在“会话超时”字段中,输入会话有效的秒数。

           1.6  单击“保存”。

      2、 配置管理器属性

        会话管理器使您可以配置如何创建和销毁会话、存储会话状态的位置以及会话的最大数目。 要更改会话管理器设置,请执行以下步骤:

         2.1   在树组件中,选择“配置”节点。

2.2选择要配置的实例:

a.要配置特定的实例,请选择该实例的配置节点。例如,对于默认实例server,请选择server-config节点。

b.要配置所有实例的默认设置,请选择default-config节点。

2.3选择“Web容器”节点。

2.4单击“管理器属性”选项卡。

2.5设置“Reap时间间隔”的值。Reap时间间隔”字段是从存储中删除不活动的会话数据之前的秒数。

2.6设置“最大会话数”的值。“最大会话数”字段是允许的最大会话数目。

2.7设置“会话文件名”的值。“会话文件名”字段是包含会话数据的文件。

         2.8  设置“会话 ID 生成器类名”的值。

           “会话 ID 生成器类名”字段使您可以指定用于生成唯一的会话 ID 的自定义类。每个服务器实例只允许有一个会话 ID 生成器类,并且群集中的所有实例必须使用同一会话 ID 生成器,以防止会话密钥冲突。

自定义会话 ID 生成器类必须实现 com.sun.enterprise.util.uuid.UuidGenerator 接口:

          package com.gzjp.cont.util.uuid; 

publicinterfaceUuidGenerator{

publicStringgenerateUuid();

publicStringgenerateUuid(Objectobj);//objisthesessionobject

}

          类必须位于 Application Server 类路径中

         2.9  单击“保存”。

3.配置存储属性

3.1在树组件中,选择“配置”节点。

3.2选择要配置的实例:

a要配置特定的实例,请选择该实例的配置节点。例如,对于默认实例server,请选择server-config节点。

b要配置所有实例的默认设置,请选择default-config节点。

3.3选择“Web容器”节点。

3.4单击“存储属性”选项卡。

3.5设置“Reap时间间隔”的值。“Reap时间间隔”字段是从存储中删除不活动的会话数据之前的秒数。

3.6单击“保存”。

2.EJB容器:

Enterprisejavabean容器。更具有行业领域特色。他提供给运行在其中的组件EJB各种管理功能。只要满足J2EE规范的EJB放入该容器,马上就会被容器进行高效率的管理。并且可以通过现成的接口来获得系统级别的服务。

企业Bean(EJB组件)是包含商业逻辑的Java编程语言服务器组件。EJB容器提供对企业Bean的本地访问和远程访问。容器负责创建企业Bean、将企业Bean绑定到命名服务以使其他应用程序组件可以访问企业Bean、确保只有授权的客户机才能访问企业Bean的方法、将Bean的状态保存到持久性存储中、高速缓存Bean的状态以及在必要时激活或钝化Bean。

例如:邮件服务、事务管理。

2.1JNDI:(JavaNaming&DirectoryInterface)JAVA命名目录服务。

主要提供的功能是:提供一个目录系统,让其它各地的应用程序在其上面留下自己的索引,从而满足快速查找和定位分布式应用程序的功能。

2.2JMS:(JavaMessageService)JAVA消息服务。主要实现各个应用程序之间的通讯。包括点对点和广播。

2.3JTA:(JavaTransactionAPI)JAVA事务服务。提供各种分布式事务服务。应用程序只需调用其提供的接口即可。

2.4JAF:(JavaActionFrameWork)JAVA安全认证框架。提供一些安全控制方面的框架。让开发者通过各种部署和自定义实现自己的个性安全控制策略。

2.5RMI/IIOP:(RemoteMethodInvocation/internet对象请求中介协议)他们主要用于通过远程调用服务。例如,远程有一台计算机上运行一个程序,它提供股票分析服务,我们可以在本地计算机上实现对其直接调用。当然这是要通过一定的规范才能在异构的系统之间进行通信。而且RMI是JAVA特有的。

相关推荐