帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > JAVA编程
J2EE 1.4 的新特性完全展播
作者:佚名 发布时间:2005-04-02 来源:不详
 
  J2EE开发人员所需掌握
,甚至也不会讨论新技术。
J2EE项目中使用哪些特性。
的技术列表是相当冗长的。在这
我们将要探讨的是它的一些主要

篇文章里,我们不会讨论J2EE技术
的新特性,然后您就会知道要在

  J2EE 1.4带来了一些新
消息传递和较容易的Web开
--大多数规范都很重要。最
规范本身。此外,还有一些
服务以及J2EE部署和管理规
的且很有趣的特性。他们始终围
发。要满足这些主题的需要,组
主要的(也是最多的)升级是JC
规范也是新的(或者对J2EE来说
范。
绕着三个主要的主题:Web 服务、
成J2EE的所有主要规范都得到升级
A 1.5规范和JSP 2.0规范以及J2EE
是新的)--例如:JAX-RPC、Web


  新规范

  在J2EE 1.4中包含了一
大部分是用于支持Web 服务
些新的规范和技术。总体来说,
或XML的。其中最重要的几个是
在对J2EE最重要的扩充内容中,绝


  Web services for J2EE (JSR-109)                
  这个新的规范描述了Web 服务怎样作
的变化是增加了新的部署描述符,这种描
为servlet或EJB无状态会话Bean来部署。最引人注目
述符将支持把组件作为Web 服务来部署。

  JAX-RPC 1.1

  JAX-RPC是用于使用SOAP进行远程过
象调用Web服务。在J2EE中使用JAX-RPC的
程调用的Java API。使用这些API,就可以用远程对
方式和调用远程EJB非常相似。

  JAX-RPC规范也定义了
实现还包括一些工具,用于
一个Web服务(通过其WSDL)映
从WSDL生成接口、存根等等,或
射到Java接口的方式。JAX-RPC的
者从接口生成WSDL。

  J2EE 在 Web 服务的服务器端和客户
servlet 或者 EJB)将会用到JAX-RPC 接
JAX-RPC用作远程接口。
端都使用了JAX-RPC。在J2EE中实现的Web服务(作为
口。而如果一个组件要远程调用Web服务,它就会把


  SAAJ 1.2

  SAAJ是SOAP with atta
许那些在SOAP调用中传递的
chments API for Java(用于Ja
附件可以被Java访问。
va的带有附件API的SOAP),它允


  JAXR

  JAXR是用于XML注册表
ebXML和OASIS。很不幸,J2
的Java API,这些API 用来访问
EE不要求支持任一特定注册表,
Web 服务注册表,比如 UDDI、
但可用使用API且实现该API。

  XML支持

  现在J2EE 1.4规范要求
。如果您正在编写操纵XML
支持SAX 2、DOM level 2、XML
的J2EE应用程序,则您现在必须
架构和命名空间,还要求支持XSLT
支持最新的版本才能工作。

  J2EE管理和部署API(JSR-77和JSR-88)                        

  这两种API被工具和IDE供应商所关注
应用服务器上的管理和部署活动。这使得
各样的应用服务器交互,而无需使用特定
。它们提供了一套供应商无关的API,用来控制J2EE
IDE(或我们自己开发的工具)可以很轻松地同各种
于供应商的大量API。

  规范的变化

  J2EE所包含的所有规范在J2EE 1.4中
J2EE的"四大件"(EJB、JCA、servlets和
都不同程度上有了些变化。但有些变化很微小,但是
JSP)都增加了重要的的新特性。

  下面对其中最重要的变化进行介绍:                                              

  Enterprise Java Beans 2.1

  EJB 2.1规范的改进主
还增加了计时器服务并增强
要在于Web服务和消息传递。这
了容器管理的实体bean的EJB-QL
将在下面详细说明。不过EJB 2.1
查询语言。

  新的计时器服务允许任
于时间的回调功能。EJB能
安排定期(如每10分钟)回
误用的潜在可能--这只能让
何EJB(除了有状态的会话bean
够请求一个特定时间后(如10秒
调。这个特性在有些情况下会很
时间来告诉我们答案了。
)进行注册,以获得来自容器的基
钟)的单个回调信号,或者也可以
有帮助,但是同时也存在着被大大


  对EJB-QL的增强是操作符ORDER BY、
务器在他们的特定于提供商的扩展中都会
SUM、COUNT、AVG、MAX、MIN和MOD。大多数的应用服
提供这些操作符。而现在,他们最终被写入了规范。

  Enterprise Java Beans 2.1--Web服务端点

  对Web服务来说,EJB
能力可以被用来实现新的We
已经加入了把无状态会话 bean
b服务或者通过Web服务接口把先
作为Web服务来使用的能力。这种
有的EJB公布出去。

  把一个现有的无状态会
WSDL(使用JAX-RPC工具)
个service-endpoint元素无
EJB 现在就拥有了全部或部
描述符webservices.xml,
WSDL连接到了EJB上并通知
话bean转化成一个Web服务端点
,然后在ejb-jar.xml文件中加
论看起来还是用起来都像是访问
分的远程的、本地的和Web服务
文件中包含service-impl-bean
应用服务器通过Web容器把它公
是相对容易的。从远程接口生成
入一个service-endpoint元素。这
您的EJB的另一个接口--这样您的
端点的接口。接着,添加一个部署
和ejb-link两个元素。这样就把
布出去。

  同样,可以把现存的Web服务作为无
WSDL来生成接口。
状态会话 bean来实现,除非您使用JAX-RPC工具从


  Enterprise Java Beans 2.1--Web 服务客户端

  EJB 2.1规范现在明确
口)。调用Web服务和调用
元素,Web服务会被映射,
允许任何一个EJB可以成为某个W
另外一个EJB的方式极其相似。
这样您可以使用"java:comp/env
eb服务的客户端(通过JAX-RPC接
使用部署描述符中的service-ref
/"的名字在JNNI中查询这个服务。

  顺便说明,这一技术不仅在EJB中可
还可以在servlets 或者JCA适配器中来调
以使用,而且可以在任何J2EE组件中使用--所以,您
用Web服务。

  Enterprise Java Beans 2.1--消息传递

  EJB对消息传递的改进
范改进了消息驱动的bean(
型。同样,一个消息连接工
的地(这和ejb-ref允许您
是和Java Connector Architect
MDB:message-driven bean),
具也被添加到部署描述符中,用
把EJB"勾"在一起的方式是很相
ure紧密联系在一起的。EJB 2.1规
使之允许任意的(非JMS)消息类
来指定组件发送消息的MBD或JMS目
似的)。

  J2EE Connector Architecture 1.5

  JCA 1.5规范有了很大
(如一个EIS系统)给应用
消息连接工具,该工具把入
和消息驱动的bean(MDB)
息进行排队以供MDB进行处
的变化。JCA 1.5的新变化是入
服务器发送消息。所以说JCA现
站适配器和处理这个消息的MDB
联系在一起的,入站适配器接收
理。这一特性的关键就在于MDB
站源适配器,它允许一个外部服务
在变成了双向的。伴随它的是一个
连接起来。在这里这个主要用例是
信息,处理信息生成消息,再把消
的变化使用非JMS的消息类型。
  JCA其他方面的改进包括对管理所有
。工作管理器允许JCA使用线程,但不会
实现异步入站适配器所需线程的工作管理系统的改进
与其线程的应用程序管理发生冲突。

  Servlet 2.4

  Servlet 2.4规范中Web
服务端点的能力。这给实现
服务方面的变化主要在于把JAX-
Web服务提供了一种容易的方式
RPC类作为servlet部署来实现Web


  编写一个基于servlet的Web服务端点
JAX-RPC工具从WSDL创建接口(或者是从
接口。然后用servlet元素(但不使用ser
个包含service-impl-bean和servlet-lin
和创建一个基于EJB的端点几乎毫无二致。使用
接口创建WSDL),再在一个普通的JAVA类中实现这个
vlet-mapping)在web.xml中声明这个类,再创建一
k元素的webservices.xml描述符文件。

  Servlet 2.4也增加了listener来取

得属性(这就像现有的已经可用的会话属性监听器)


  SingleThreadModel也
不能真正地解决Serverlet
域和方法,但是,毫无疑问
HttpSession中的对象)。
、线程安全的编程实践所替
不赞成使用了。如果您用过这个
的实时并发问题。SingleThread
,它没有保护其他资源的能力(
因此,SingleThreadModel将不
代。
接口,您一定已经知道实际上它并
Model只能保护单进程Serverlet的
像那些静态方法中的引用,或者
赞成使用,同时必将会被一种好的


  Java Server Pages 2.0

  JSP规范终于成熟了。在JSP 2.0中,终于可以编写无脚本的页面(没有任何"<% … %>"之类属于Java的代码)。


  第一个改进就是增加了
标准标记库(JavaServer Pa
的语法,这种语法不再需要
XPath的,所以,它的语法
表达式语言(expression langu
ges Standard Tag Library,JS
大部分的 "scriptlet"。EL是基
对于大多数Web开发者来说都会
age,EL),表达式语言来源于JSP
TL)。EL是一种简单、精致和易用
于ECMAScript (JavaScript) 和
感觉似曾相识。

  在JSP 2.0中也一样改进了标记库。
SimpleTag接口具拥有更简单简洁的生命
用。SimpleTag和它的JSPFragment搭档(
tags" 所做的事情,不过和以前相比,可
记可以更容易地正确实现,这也就意味着
现如今,我们有更简单的API来书写标记了。
周期--只有一个doTag 方法并且没有实例缓冲池和重
用来评估标记体)可以完成现如今大多数 "classic
要省力气多了。此外,这些更为简单的API意味着标
bug更少。

  另外一个对标记的改进在于编写标记
来实现的。编写标记文件是简单的,而部
foo.tag的名字放入WEB-INF/tags就万事
要信息都在标记文件其自身中进行了声明
文件的能力。这些标记是作为JSP文件而不是Java类
署就更简单了--您只要简单的把这些文件以类似
大吉了。不需要编写TLD描述符文件,因为所有的重


  标记文件最大的优势是
出。以前,必须把HTML嵌入
能最自然的用法。这也向那
用于支持XML的语法,加入
在一些可视HTML元素需要标记之
到Java代码或采取包含页面的方
些非Java开发者打开了自制创建
了对JSR-45的支持,以及对其他
时。例如,对持续格式化bean的输
式。但是标记文件是这种类型的功
标记的大门。 JSP 2.0 还改进了
语言的调试支持。

  JSTL

  JSP标准标记库(JavaS
记的集合。这些标记和JSP2
JSP 2.0规范的必需组成部
Sun 到 Apache),实在值
erver Pages Standard Tag Lib
.0在其他方面的改进很好的融合
分。不过,由于它是如此得有用
得我们在此提及一下。
rary,JSTL)是一个非常有用的标
了起来。不幸的是,JSTL并不是
,而且获得了广泛的支持(例如从


  总结

  在新的版本中充满了新的内容,那么问题是如何来使用他们呢?                      

  Web 开发

  JSP规范的所有这些改
代码的JSP页面了。并且,
用户界面(视图)和后端(
变都极大地改进了Web开发体验
简单标记和标记文件的可选性使
控制器)之间的分离也更好了。
。大家终于有可能编写不内嵌Java
标记变得更易编写且更易使用。在


  消息传递

  消息传递在MDB 和JCA
之间的双向通讯会增进J2EE
方面的改进有很多意义。首先,
与现有企业的集成。
显而易见的是--应用服务器和EIS


  但是其他的好处还远远
socket外,入站适配器有"
器来使您能telnet到应用服
的J2EE JCA组件,也可以实
不止这些。首先,除了那些被容
权"创建和监听socket。所以,
务器来执行一些管理任务。或者
现邮件服务器。这种可能性是无
器(RMI、IIOP和HTTP)所拥有的
比如说,您可以添加一个JCA适配
,也可以将FTP服务器部署为标准
穷尽的。

  另外一种可能性(这在规范中已有明
须实现JMS--但并没有指明对特定消息传
现他们自己的消息系统来支持JMS。并且
通讯。
确说明)是JMS提供者。J2EE规范要求应用服务器必
递系统的任何要求。因此,每个消息提供商通常要实
,他们通常必须有外部系统与他们一同工作才能进行


  有了J2EE 1.4,消息提
标准、可移植的JCA适配器
布者。然后,这个JCA能够
服务器之间的互操作性的潜
供商现在已经有可能创建自制他
一样。适配器的入站一端可以处
被部署到任何J2EE 1.4应用服务
在能力,至少对于JMS消息是这
们的JMS支持,像一个符合J2EE的
理消息使用者,而出站一端处理发
器中。这样就使其拥有了改进应用
样的。

  Web 服务

  有了J2EE 1.4规范,J2
EE已经和Web服务稳固的结合在
了一起。这就有了多种选择。

  首先,如果您有现有的基于EJB的系
一些条目,任何无状态会话bean都可以当
互操作性。
统,则只要简单地在部署描述符中添加JAC接口以及
作Web服务来发布。这就打开了现有部署和Web服务的


  对于新的Web服务,您
JAX-RPC)。不管采用哪种
可以像上面一样编写EJB的实现
方式,您都可以通过一些部署描
,也可以编写简单的Java类(使用
述符条目进行部署。

  此外,您还可以利用J2EE应用程序中
时,使用JAX-RPC来调用Web服务。
的任何Web服务,方法是,在执行任何其他远程调用


  结束语

  对J2EE 1.4的增强都是
的改进用来增强企业后端。
些希望开发基于Web的用户
是一个很棒的组合。
不容置疑的,并且应增强J2EE平
增加对Web服务的支持改进了J2E
接口的人员来说,JSP的改进则

台的有用性和能力。JCA和MDB方面
E的有用性和互操作性。而对于那
降低了他们使用的门槛。总之,这


  现在,最困难的事情摆
对所有这些好东西加以选择
在了您--J2EE开发者--的面前,
取舍。这将是件乐趣无穷的事情
您需要判定,如何来在您的项目中


  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·11本入门到精通J2EE书籍推荐  (2005-04-02)
 ·小心进行 J2EE Web Services 的测  (2005-04-02)
 ·AOP如何与J2EE实行高效的无缝结合  (2005-04-02)
 ·配置J2EE(v1.4.02)和Cloudscap  (2005-04-02)
 ·在J2EE组件中引用和查找Web服务  (2005-04-02)
 ·Mercury推出增强J2EE软件性能组件  (2005-04-02)
 ·J2EE的Web和企业架构(WEA)设计  (2005-04-02)
 ·J2EE应用中,提升数据访问层的性能  (2005-04-02)
 ·J2EE 1.5 提供的另一种形式的for  (2005-04-02)
 ·优秀的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实现小结
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统