帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > JAVA编程
J2EE1.4的多层Web框架技术
作者:佚名 发布时间:2005-04-02 来源:不详
 
  Sun的Java 2 Enterpri
最近几年,J2EE Web程序的
se Edition(J2EE)平台已经成为
开发已经成为信息系统的关键。
使用最广泛的Web程序设计技术,


  J2EE1.4的多层Web框架技术


  J2EE为多层Web应用系
特定功能的软件模块,用户
机插件和主板的关系;程序
,它们之间通过接口进行通
装在容器中就够了,程序构
置J2EE应用服务器本身。这
易管理、JNDI查寻和远程调
统提供了容器平台。在这里,容
所开发的程序构件要在容器内运
构件在部署时被安装在容器里,
信;一般Web程序开发者只要开
件的安装过程包括设置各个构件
些设置决定了在底层由J2EE服务
用等)。
器概念实际是指应用服务器提供的
行,构件和容器的关系有些像计算
容器是能提供基本功能的底层平台
发出满足其需要的程序构件并能安
在J2EE应用服务器中的参数以及设
器提供的多种服务(譬如安全、交


  J2EE应用框架使同样的
能。例如,同样的Enterpri
容器还负责管理某些基本的
(data persistency)。 
程序构件在一个Web程序之内能
se JavaBean可以采用不同等级
服务,譬如构件的生命周期、数

够根据其部署的方式实现不同的功
的数据库数据存取安全设置,J2EE
据库连接资源共享、数据持久性


  


  图1 多层次结构Web程序框架                                                

  正如图1所描述的,J2EE 1.4应用平
Enterprise JavaBeans(EJB)容器负责所
通常称为会话bean,称之为会话期间bean
message-drivenbean(消息驱动bean)。这
的通信,它对应多层结构的业务层和数据
构件的运行,这些构件主要负责程序和We
户端容器负责所有Web程序在客户端构件
。它负责在Web浏览器和Java插件(Java P
并具有安全保护的Java小程序),应用客
户接口层;每种容器内都使用相关的各种
台由以下几种类型的程序容器(container)组成:
有EJB的运行,EJB根据功能可以分为session bean(
更确切),entity bean(实体 bean),
一层主要负责数据处理以及和数据库或其他Java程序
访问层,Web容器管理所有JSP,JSTL和servlet等Web
b的通信,这一层对应多层结构中的表示层。应用客
的运行;Applet容器可以看作特殊的应用客户端容器
lug-in)上运行Java Applet程序(Applet是一种简化
户端容器和Applet程序容器基本对应多层结构中的用
Java Web编程技术,这些技术包括三类:

  J2EE各种不同的应用构件(如Servlet
,JSP,EJB),它们构成了应用的主体。

  J2EE平台提供的应用服

务(如JDBC,JTS,JNDI),这些

服务保证并促进构件的良好运行。


  J2EE的应用通信技术(如RMI,JMS,J

avaMail)在平台底层实现机器和程序之间的信息传递


  1、构件技术


  "构件"这一概念是指在
的Java程序,这些程序有固
化了;最基本的Java构件是
照特定格式编写的Java类文
set()的方法来访问实例变
JavaBeans基础上进行了拓
三类:客户端的Applet和程
Beans容器内的EJB构件和资
应用程序中能发挥特定功能的软
定的格式和编写方法,它们的功
在Java标准版(Java 2 Standard
件。JavaBeans包括实例变量(In
量的数据。这种格式大大简化了
展。由于Web编程比较复杂,J2E
序客户;Web容器内的JSP,Serv
源连接构件。
件单位。简单地说,就是几种特定
能和使用方式在一定程度上被标准
Edition)中的JavaBean,它是按
stance Variable()和get(),
程序设计。J2EE的构件在
E提供了更多应用构件,主要包括
let,JSTL等构件;企业Java


  1)J2EE的客户


  J2EE Web应用可以和多
动态生成的网页(包含各种
浏览器。Web浏览器(如Inte
。不管J2EE应用服务器早怎
,浏览器只是正确地显示给
的数据检索和计算任务,这
样保证了"客户-服务器"结
种客户端程序连接。这些客户主
各样的类型标注语,如HTML,XM
rnet Explorer,Netscape)以标
样生成这些网页的,它们被传递
用户。所以,有时Web客户端被
些复杂而耗时的操作在J2EE服务
构的优势,降低了Web流量。
要包括以下部分:Web客户端包括
L等),以及在客户机上运行的Web
准格式显示从服务器传递来的网页
给浏览器时已经是HTML或XML格式
称为"瘦客户",瘦客户不承担复杂
器端Web容器和EJB容器内进行。这


  Applet是基于Java的小
器进行通信。从服务器传给
器所安装的Java虚拟机(Jav
Java Plug-in和有关安全许
型客户端构件。它一般在Web浏
浏览器的网页可能包括嵌入的Ap
a virtual machine)上执行。这
可文件。
览器上运行,通过HTTP协议和服务
plet程序;这些Applet程序在浏览
要求客户机的浏览器事先安装


  Web客户端程序和Applet各有优点。W
要安装Java Plug-In,也无须操心客户程
页设计分离,这样保证了程序设计的模块
语法。Applet更适合复杂的客户界面。
eb客户程序(就是用网页)更简单和普遍,因为它不需
序运行的安全问题。并且,Web客户程序使编程和网
化。会作漂亮的网页的人员因而不需要了解Java编程


  由于Applet更接近Java编程,许多专
端编程。如果使用得法,Applet界面会更
公司Datek就推出了使用Applet为界面的
够随时更新股票的交易分析数据和曲线。
业人员更擅长利用Java丰富的功能(API)来进行客户
快速和灵活。比如,美国一家非常受欢迎的股票交易
网上股票交易工具,无须用户点击图标和按键,它能


  客户应用程序是指在客
,AWT)和复杂的操作。客户
户应用程序也可像Applet客
客户应用程甀不同等??据?
的生命周期、数据库连接资
户机上运行的J2EE程序。它为用
应用程序直接访问在服务器EJB
户那样以HTTP连接和服务器的Se
???取安全设置,J2EE容器还负
源共享、数据持久性(data pers
户提供了丰富的界面(如JavaSwing
容器内的EJB程序。当然,J2EE客
rvlet通信。与Applet不同的是,
责管理某些基本的服务,譬如构件
istency)。 
  序一般需要在客户端进
户应用程序适合在企业内部
行安装,而Applet是在Web上下
网中使用,Applet适合在WWW上
载,无须专门安装。一般来说,客
使用。

  Java Web Start客户是基于JFC/Swin
较新的Java Web Start技术。这种技术主
Web Start兼有Applet和客户应用程序的
g API的,适合J2EE程序使用的客户应用,它基于比
要提供了网上的快捷程序下载和安装方式。Java
优点,但设置起来有些复杂。

  无线客户基于移动信息
版(Java 2 Micro Edition)
Device Configuration)技

设备定型技术(Mobile Informat
提供了MIDP的API和有限连接设
术。这些技术可以使无线设备(

ion Device Profile)。Java微型
备配置(Connected Limited
如手机,PDA)同J2EE程序进行通信


  2)Web构件


  Web构件是在J2EE Web
的功能是在HTTP协议上对We
生成的网页。用户每在浏览
J2EE平台的Web构件对这些
容器上运行的软件程序。Web容
b请求(request)进行响应(respo
器上点击一个链接或图标,实际
请求进行处理后回复给客户相应
器主要支持多层结构的表示层。它
nse)。这些所谓响应其实就是动态
上是通过Web向服务器发出请求。
的HTML或XML文件。

  J2EE Web构件包括servlet,Java Se
Tag Library(JSTL)。
rver Page(JSP)和Java Server Pages Standard


  Servlet是Java动态处
应用服务器Web容器(又称We
通信功能。Web服务器负责
理HTTP请求和生成网页的类(cla
b服务器)里的程序构件。这种构
将Web请求传递给servlet。
ss)。每个servlet就是一个在J2EE
件有效地利用了Web服务器的HTTP


  Web服务器内部根据用户要求的统一
servlet,然后将servlet处理生成的HTML
主要编写servlet类程序无须关心Web服务
进行以下工作:初始化和结束servlet;
Web反应;维护和管理客户会话(session)
响应进行处理;实现Web安全管理。
资源定位器(URL,即通常所说的网址)查找到对应的
或XML文件以HTTP形式反馈给客户。Web程序开发人员
器的运作细节,编写servlet的程序员用servlet API
连接servlet的运行环境;接收或传递Web请求,发送
;和其他Web构件协同工作;使用过滤器对Web请求和


  JSP可以说是servlet的
就为应用开发者(特别是不
servlet,编写JSP比编写se
板和处理动态内容的JSP元
行编辑而不用改动JSP元素
程将二者混在一起,而JSP
熟悉HTML网页编程的人知道
写法基本固定。JSTL采用了
数据库的JSP文件,可以用
化的,任何种类的Web服务
JSP功能,仍在不断扩充中
变形,它像是文本格式的servle
熟悉Java语言的)提供了方便,J
rvlet程序更简洁;一个JSP文件
素。JSP开发者如果只改变网页
。JSP元素主要用于生成动态内
就清楚多了,JSTL将常用的JSP
,网页是由各种有标签的文字组
相似的概念设计JSP。例如,设
现成的JSTL标签来进行数据库连
器都会支持,这样就省去了不少

t,它的写法有些像写网页,这样
SP在Web容器内会被自动编译为
包括两类成分:生成HTML或XML模
外观,他们只要对JSP内的模板进
容或调用底层EJB构件,Servlet编
功能封装成为简单的标签(tag)。
成的,各种标签(如表格、字体)的
计者不必自己用JSP写一个能连接
接。这种JSTL标签是最优化和标准
JSP的麻烦;JSTL目前提供基本的


  3)企业JavaBeans(EJB)构件


  EJB容器用于实现企业
我们引入"业务逻辑"这个概
譬如银行业务、零售或财务
业务性质而异,它由EJB构
到数据并将处理过的数据传
客户端;由于EJB依赖J2EE
安全性。
业务操作的程序,它在多层结构
念。在J2EE编程中,业务逻辑指
等,简单说就是企业程序中的数
件在J2EE Web程序中实现,EJB
送到企业信息系统来存储,EJB
容器进行底层操作,使用EJB构

中处于业务层和数据访问层。这里
特殊企业领域对数据的处理需求,
据结构和算法。业务逻辑因企业的
构件能够从客户端或Web容器中收
还能够从数据库检索数据并送回到
件编写的程序具有良好的扩展性和


  J2EE 1.4版有三种EJB构件:session
message-drivenbean(消息驱动bean)。
bean(会话bean),entity bean(实体bean)和


  会话bean主要用来描述
话过程甀不同等??? ?(一次
费者,银行系统使用者)执
库保存)。会话bean主要是
据等。会话bean可以是无状
户每次调用其方法,会话be
间的构件状态,这种分类主
程序的业务逻辑。一个会话bean
"会话")。在程序运行过程中,
行完操作之后,会话bean和它所
为客户进行与业务逻辑相关的数
态的(stateless)或有状态的(st
an都作同样响应。有状态是指会
要适用不同的数据操作。
代表Web应用程序和客户的一次会
当Web应用的客户(如网上购物的消
使用的数据会被删除(即不在数据
据操作,如计算交易金额、存取数
ateful)。无状态是指不管任何用
话bean需要维护和记录不同方法之


  实体bean是用于表示和维护Web应用
使用的数据库中的数据对象。一个实体be
数据在EJB容器里的翻版。实体bean与会
服务器被关闭,EJB容器会保证实体bean
(data persistence)。实体bean根据其实
和container-managed persistence两类
数据库的访问,这要求编程者自己写一些
persistence指对数据库的访问由EJB容器
操作指令。虽然 container-managed per
bean-managed persistence来完成。
的数据实体的构件。简单地说,数据实体就是程序所
an代表存放在数据库的一类数据对象。它是数据库内
话bean不同,如果一个客户终止使用服务或J2EE应用
的数据保存到数据库内。这就是所谓数据持久性
现数据持久性的方法分为bean-managed persistence
。Bean-managed persistence指实体bean本身管理对
数据库操作指令(如SQL)。Container-managed
负责;编程者只要定义相关设置,而不需要写数据库
sistence更简单,但是有些复杂的数据操作还是需要


  消息驱动bean实现了客户和服务器更
一个消息驱动bean能让客户和服务器之间
响应;当Java消息服务器(Java message
被激活,客户并不像使用会话bean那样直
bean中具体有什么方法可以调用。
松散的方法调用,利用消息服务器有其特定的优势,
进行异步(asynchronous)通信,服务器并不要求立刻
server)收到从客户端发来的消息时,消息驱动bean
接调用消息驱动bean,这样客户不必要知道消息驱动


  2、服务技术


  J2EE Web程序服务器提
但Web编程者不需要自己开
service)、数据连接(JDBC)
连接框架(connector archi

供了方便编程的各种服务技术,
发的,例如命名服务(naming se
、数据事务(data transaction)
tecture),在Web应用中一般通

这些技术是一般Web应用需要用到
rvice)、部署服务(deployment
、安全服务(security service)和
过调用现成的API来使用这些技术


  1)命名技术(JNDI)


  J2EE命名服务提供应用
统的面向对象编程中,如果
个B的实例。当一方程序改
and Directory Interface(
它提供了应用的命名环境(n
境注册登记,并且通过命名
构件(包括客户、EJBbeans、ser
一个类A要调用另一个类B,A需
变时,就要重新编译,而且类之
JNDI)(命名和目录接口)简化了
aming environment)。这就像一
环境查找所需其他构件。
vlet、JSP等)程序命名环境。在传
要知道B的源程序然后在其中new一
间的连接比较混乱。Java Naming
高级Web程序类之间的查找调用。
个公用电话簿,Web构件在命名环


  JNDI API提供了Web构件进行标准目
起,或者通过对象属性来查找Java对象。
问其他通用的命名服务,包括常用的Web
程序与其他平台系统的整合。
录操作的方法,譬如将对象属性和Java对象联系在一
由于JNDI已经被标准化,程序可以通过使用JNDI来访
命名协议LDAP,NDS,DNS和NIS。这促进了J2EE Web


  2)数据连接技术(JDBC)


  Java Data-Base Connection(JDBC)A
技术提供Java程序和数据库服务器之间的
,JDBC提供了从Java程序内调用SQL数据
以及JDBC 2.0拓展API,这些API提供了高
PI使J2EE平台和各种关系数据库之间连接起来。JDBC
连接服务,同时它能保证数据事务的正常进行。另外
检索语言的功能;J2EE平台使用JDBC 2.0以上的API
级的数据连接功能。

  3)数据事务技术


  数据事务(data transa
要么成功完成,要么一点也
和数据就会出错。所以,数
间断,J2EE的数据事务服务
ction)用于保证数据读写时不会
不改变数据库数据。最怕的是把
据事务有一个"不可分微粒"的概
保证应用程序的数据读写进程互
出乱。当程序进行数据库操作时,
数据改了一半程序出错,那样程序
念,就是指一次数据事务过程不能
相甀不同等??? ?不干扰。

  如果一个数据操作能整
应用程序开发者不用自己
API,它可以在EJB层或Web
个完成,它就会被批准;否则,
实现这些功能,这样使数据操作
层实现。
应用程序服务器就当什么都没做。
简化了,数据事务技术使用JTA的


  4)安全技术


  J2EE提供了严密的安全
两步。首先是验证(authent
供验证数据(譬如用户名和
是个人用户或其他程序。第
程序资源时,系统要根据安
措施,它用于保证程序资源只能
ication),即个体必须由验证确
密码)。我们称能被验证的个体
二步是授权(authorization)。
全策略确定是否该本体有权限进
由获准的用户来使用。这一般分为
定其身分。典型的做法是使用者提
为"本体"(principal),本体可能
当一位被验证通过的本体设法访问
行这样的操作。

  J2EE的容器提供两种安
安全技术指在程序之外设定
用安全技术。相以地程序性
EJB构件的程序里调用Java
J2EE程序中,一般使用声明
全方法:声明性(declarative)
安全机制的参数。也就是编程者
安全技术在程序内用指令设定安
的安全技术API。由于声明性安
性安全技术比较简单。
和程序性(programmatic)。声明性
在程序配置描述文件里指定如何使
全机制。这一般是指在Web构件或
全设定不需要改动程序源代码,在


  5)连接框架技术


  J2EE连接框架技术(con
(EIS)的标准API。企业信息
,譬如企业资源计划(ERP)
多年,它们不一定是标准的
systems),例如SAP、CICS
统与EJB容器和构件的集成
制。这使J2EE Web程序能和
和遗留系统之间的资源适配
nector architecture)是一组用
系统是一个广义的概念,它指企
、大型机数据事务处理以及数据
数据库或Java程序。这些现有的
和非关系数据库等系统。J2EE连
,为此,J2EE连接框架技术定义
其他类型的系统进行通话。这种
器,这样使两者能够相互读懂对
于连接J2EE平台到企业信息系统
业处理和存储信息数据的程序系统
库系统等。由于很多系统已经使用
信息系统又称为遗产系统(legacy
接框架技术解决了现有企业信息系
一套扩展性强、安全的数据交互机
技术主要是规定了J2EE程序服务器
方的数据。

  6)Web服务技术


  Web服务技术是通过互联网进行远程
技术。在1.4版本之后,它已经成为J2EE
业之间进行信息连接,企业使用基于XML
如银行转账、价格查询等);通过互联网
登记的服务目录,这样实现了真正在Inte
系列于XML和Web服务协议有关的API(如JA
台内,Sun将引进部分Web服务的功能。
应用服务和计算的新技术,被称为新一代的Web应用
平台的一部分,Web服务通过基于XML的开放标准使企
的Web服务描述语言(WSDL)来描述他们的Web服务(比
,系统之间可以使用Web服务注册(如UDDI)来查找被
rnet上的信息查询和交换。Java的Web服务主要提供
XM,JAXP,JAXR,JAXRPC)等;在最新的J2EE 1.4平

  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·J2EE 的四层模型  (2005-04-02)
 ·J2EE 的结构  (2005-04-02)
 ·J2EE的核心API与组件  (2005-04-02)
 ·XML和J2EE的组合技术  (2005-04-02)
 ·J2EE的未来  (2005-04-02)
 ·中国软件市场呼吁更多中高级J2EE  (2005-04-02)
 ·J2EE宠物商店 (1)  (2005-04-02)
 ·J2EE到底是什么?  (2005-04-02)
 ·带你步入J2EE殿堂:最易懂的J2EE  (2005-04-02)
 ·win2k下的J2EE配置  (2005-04-02)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·谈谈JDBC
·JDBC专题介绍
·JDBC接口技术
·利用weblogic的POOL(连接池)连接
·Jsp中调用Oracle存储过程的小例子
·JSP数据库操作例程
·JSP数据库连接大全
·用连接池提高Servlet访问数据库的效
·一种简单JDBC连接池的实现
·数据库连接池Java实现小结
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统