Java EE 5.0例程初探 EJB3.0的实现和对AJAX的支持

原创 2006年05月21日 10:53:00
        一直关注Java EE 5.0的发布,其中EJB3.0和Ajax的支持,让我很感兴趣.
       Java EE 5.0 FCS版本发布后,我连夜下载了它的安装包和PetStore 2.0例程.
       安装Java EE 5.0很简单,为了不在开发环境的配置上走弯路,我使用了Sun的NetBeans 5.0而不是我常用的Eclipse 3.X.
       我把Java EE 5.0安装在了C:/Sun/AppServer中,其中自带了Sun的服务器
       其中代码目录结构为:
       -samples
       -samples/bp-project          类似于一个Ant配置文件支持集合,,用来支持BulePrint的配置
       -samples/javaee5               一个CMP例子,几个其他的EJB例子
       -samples/quickstart            一个超简单的web应用例子
       QuickStart毫无悬念的配置成功
        在netBeans打开 CMP的例程项目,,运行默认得Ant.              
        配置我最感兴趣的CMP时发现问题,首先提示找不到 path/to/passwordfile
       Google一下,发现需要修改 bp-project/中的build.properties中的一个配置属性
       javaee.server.passwordfile=C:/Sun/AppServer/samples/password.txt
       password.txt是一个纯文本放置了明文的AppServer的管理员口令,,安装J2EE5时需要设置的
       修改后,,再次Ant,发现数据库未能配置...发现没有打开JavaDB,打开JavaDB,执行setup/build.xml中相关Ant任务, 数据库部署成功.
       再次运行还是不行,后来才发现可能启动次序的原因,,好像需要先启动javaDB再启动AppServer
       继续Ant,终于成功了,,真是热泪盈眶啊.....开始对javaDB不熟悉,,试了半天,,发现URL中带了CreateDB参数就可以自动创建不存在地DataBase真是#@%#@%@#%,还是在AppServer的管理平台中看了pool Connection的参数才明白的...
       运行成功后,,再看代码,,真的......好简单
       值得注意的是其中的EntityManager接口,,应该EJB3.0中简化实体处理的核心了,,呵呵配置在persistence.xml中,,有EntityManager的工厂实现,,这个例程中用的是Oracle的Top-Link,很明显,,应该很快就会有
       Hibernate,JDO,iBatis的EntityManager的工厂实现,,而实际的业务层代码里面
       Java代码的结构
          Common   定义的异常
          Session/EJB 业务逻辑对象
          persistence 实体对象
    在实体对象中,,可以通过元数据描述定义各种查询和关系
例如       @Entity
@NamedQueries(
    value={@NamedQuery(name="findCustomerByFirstName", query="select object(c) from Customer c where c.firstName= :firstName"),
    @NamedQuery(name="findCustomerByLastName", query="select object(c) from Customer c where c.lastName= :lastName")}
)
有点像Hibernate3和iBatis中的声明的查询,,不过不用XML直接用元数据描述....
    在业务对象中,,可以通过元数据描述声明事务
    @TransactionAttribute(TransactionAttributeType.REQUIRED)
有点类似Spring的事务声明....
   没有N多XML了,,没有N多看起来很类似的重复文件了,,,感觉真好......
   目前看来,,EJB3.0这一块还是很不错的...确实可能成为一个里程碑式的发布....
接下来按网上的说法,,我去Sun Down了PetStore 2.0的例程,,艰苦的配置后
    特别是 里面的例程明显优一个Bug,,sun-web.xml中指定的ContextPath为 javapetstore-2,,而无数的页面表面ContextPath应该是PetStore....在NetBeans中运行主程序后,,在IE中,,还是很不错的AJAX效果...然而在FireFox,,N种效果都没有出来....考虑这个BulePrint还没有完全发布...希望正式发布支持FireFox就好了
    还在研究中...下次再说吧

    初步感觉这个PetStore的实用性好像增加了一些,,有Upload的支持了,,呵呵.
    看了一下,,PetStore的实体化处理,,就直接放在了JavaBean中,,但明显使用了EJB3.0,,是否意味者,未来,实体处理部分可以脱离EJB容器来独立实现.....
    只要支持元数据解析和EntityManager,,这两个重要的特性,,PetStore是否就可以直接移植过去?

   



      
   
      

   

         

《传智播客:2.3/spring/jdbc/EJB3.0/ajax/hibernate/Struts/java视频教程》(SPRING2.5/AJAX/JAVA/JNI/FTP/AJAX/ibatis/OA/JDBC)

《传智播客:2.3/spring/jdbc/EJB3.0/ajax/hibernate/Struts/java视频教程》(SPRING2.5/AJAX/JAVA/JNI/FTP/AJAX/ibatis...
  • rosonex
  • rosonex
  • 2011年04月22日 16:08
  • 2257

Java EE 远程客户的访问EJB实现实例(Jboss wildfly)

Jboss wildfiy 远端客户端实例

Java EE 远程客户的访问EJB实现实例(GlassFish)

这篇文章简单实现在Java EE7 下实现远程客户端访问Java EE服务器EJB的功能 准备工作: JDK9(jdk-8u92)netbeans-8.1 Java ee sdk (java_ee...

【Java EE (Struts2 + Spring + Hibernate)开发】:Struts2(二)之【Ajax 支持】

【Java EE (Struts2 + Spring + Hibernate)开发】:Struts2(二)之【Ajax 支持】 本文地址:http://blog.csdn.net/shanglian...

Java EE中Ajax技术简单实现

1.异步数据获取技术,使用XMLHttpRequest.   2.基于标准的表示技术,使用XHTML与CSS.   3.动态显示和交互技术,使用Document Object Model(文档对象模型...
  • suwu150
  • suwu150
  • 2016年05月18日 12:42
  • 776

EJB3.0 MDB实现

MDB有两种实现(点对点:p2p  ;  发布-订阅:pub/sub) 第一种p2p: 服务端: package fh.mdb; import java.nio.ByteOrd...

EJB3.0中拦截器的实现

拦截器的概念大家肯定不陌生。从字面而言,拦截你行为,至于如何获取你的行为,那就是拦截器的原理——通过反射获取你下一步的操作。       在面向切面编程中,其实就是在你的方法之前或之后调用方法。比如...

【使用JBoss 7开发Java EE 6】EJB引用第三方包

在EJB里引用了第三方包后,必须在JBoss里进行这个包的配置,否则项目肯定会部署失败。 在JBoss7以前的版本里,这些第三包可以放到%JBOSS_HOME%/common/lib下面,但JBos...

EJB 3.1五大模式改进令Java EE 6更好用

EJB 3.1规范的主要目标是使EJB尽可能简单,其核心思想是简化EJB架构同时引入新的功能。...
  • zavens
  • zavens
  • 2011年01月04日 16:42
  • 1225
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java EE 5.0例程初探 EJB3.0的实现和对AJAX的支持
举报原因:
原因补充:

(最多只允许输入30个字)