用Eclipse创建简单EJB的过程

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

早在.NET 2.0问世的时候,Java就应知趣地退出历史舞台

 

Java不同于.NET,通常其开发环境是一群乌合之众。

通常我们使用的免费的J2EE开发环境是比较流行的Eclipse,为了开发EJB,还需要安装JBoss服务器,xDoclet。JBoss服务器既用于运行EJB的服务和JNDI服务,也同时可以用于承载作为界面显示的JSP,在这种方式下,通过适当的配置,JSP可以直接访问EJB中的Remote端。但在以下的操作过程中可以发现,xDoclet不是必须的,JBoss使用的是3.2.3版本,JDK也须使用1.4.2方能与其他模块配伍。

对于像我这样Java菜鸟,而对微软开发工具非常熟悉的人而言,开发Java最大困难在于其开发环境的极端杂乱。具体而言就是各开发组件之间版本的协调的混乱。如果不了解技术的大致机制,而只通过网上或书上的例子开发,必然会遇到问题。我为了尝试EJB Hello World工程的运行,几乎花了一个多星期的时间,尽在配置环境,一路咒骂,却毫无进展。

在数次放弃,复又数次尝试后,最近终于初步厘清了关系。

事实上,一个简单的EJB工程,(对于每一个Bean)在Java代码上只要实现一个类和几个接口即可:

1. 豆子类(Bean类),从javax.ejb.SessionBean继承,通常命名为XXXBean。在豆子类中除了一堆EJB规定的动作方法外,开发者可以定义一组具体的豆子功能方法。

2. 本地作坊接口(LocalHome接口),从javax.ejb.EJBHome继承,通常命名为XXXLocalHome。这里名其为作坊因为它翻译自Home,实际上也是体现了Factory模式。其主要方法是返回一个本地对象接口实例的create方法。

3. 本地对象接口(LocalObject接口),从javax.ejb.EJBLocalObject继承,通常命名为XXXLocal。这其中接口继承不需要开发者关注,只需要声明和豆子中的功能方法一一对应的方法。

4. 远程作坊接口(Home接口)Home接口,从javax.ejb.EJBObject继承,通常命名为XXXHome。其主要方法是返回一个远程对象接口实例的create方法。

5. 主对象接口(远程对象接口,Object对象),从javax.ejb.EJBObject继承,通常命名为XXX。这其中也一样只需要声明和豆子中的功能方法一一对应的方法。

通常声明继承这些接口,eclipse还是能比较尽责地提示方法缺失并帮忙把需要实现的方法填好。这些方法在简单的EJB工程中往往都不用实现,这里也不赘述。

除了完成上述几个源文件外,在Eclipse中编译还需要定义一个生成Bean的通常名为ejb-jar.xml的XML文件,它要涵盖对上述几个文件的描述,所以即便从字面上看它们都是一些接口而看不见实现它们的对象,但这是EJB生成过程中自动实现的,也就是说,接口在这里起到了类似很多通信架构(例如彪炳史册的Microsoft Windows Communication Foundation)中协议的作用。其主体结构基本如








初始工程采用Eclipse J2EE版本的默认的EJB Project创建,为了和此处介绍的其他模块的版本协调,建议采取EJB模块版本2.0而非3以上。



注意2.0版本的EJB完全不支持Annotation。默认创建完成的工程含EAR库,和JRE,需要注意将JRE和JDK版本调整到1.4.2。注意到其中有

一个JAS-WS Web Services,这或许就是WS接口,通向光明灿烂的.NET的康庄大道。



为了工程生成(Build)通过,需要在Build Path(其实就是Java对其引用类库的矫情命名)中加入jboss-j2ee.jar,这样才能使用

javax.ejb包,这在JBoss安装目录下寻找即可。指定工程的运行服务为JBoss。这样完成的EJB工程不需要依赖xDoclet等破烂。

演示该EJB功能,通常通过动态网页的方式(JSP)进行。在Eclipse中另建动态网页工程,并指定相应的运行服务为相同的JBoss。作为简单

的演示,只需要添加一个JSP页面,在其主体(body元素)中添加如下代码:












其中methodReturningString,作为例子,是一个在Bean上定义(相应在对象接口中声明的)的返回字符串的功能函数。如此最终在动态



网页上将会显示这个返回的字符串。

结束语:

 

实在没办法要交作业,才尝试EJB。其实老师也不建议学生去实践EJB,但是出于好奇,我还是做了整整一个多星期,方才初步完成一个EJB 2.0的Hello world例程,想想如果这些时间可以用.NET XNA完成多少Game Programming的代码。应该庆幸的是,最终算是做出来了,也整理出这么一篇小文;同时也体会到,所谓计算机开发技术,其实就是穷举的技术,Java使其体现得淋漓尽致。

 

而不幸的是,后来由于我估计不足,没有对这个工程备份,所以在eclipse经过一些改动(其实也没对更这个工程本身进行)后,它又无法运行了。

 

 

Java = "Just A Vain Attempt" or "Just A Vile Asshole"

 

使用Eclipse+GlassFish构建简单EJB EJB,即企业级JavaBean。它是一个标准,而不是一个产品。其存在的目的是为后台开发人员提供一个标准的开发标准。它主要分成SessionBean,EntityBean和MessageDrivenBean。简而言之就是**服务器端**的一个标准。 在开发中我们需要先创建一个EJB项目,并在此EJB项目的ejbModule下创建一个带包名的SessionBean。然后在这个SessionBean... 阅读详情

相关推荐

EJB学习二 我的第一个EJB项目(Eclipse下的EJB开发,与JBoss集成,Ant打包)

EJB项目的创建(使用开发工具eclipse) 1、打开eclipse,新建一个普通的Java Project(实际开发使用的是java Project而不是ejb的) 2、点击Next,添加外部的jar包 3、为了方便,可以将jboss-5.1\cliient下的所有jar包全部导入(入门...将就一下...) 4、点击finish完成

u012814041的专栏 5596

javaejb.jar包

包括的类有: javax.ejb.AccessLocalException.class javax.ejb.CreateException.class javax.ejb.DuplicateKeyException.class javax.ejb.EJBContext.class javax.ejb.EJBException.class javax.ejb.EJBHome.class javax.ejb.EJBLocalHome.class javax.ejb.EJBLocalObject.class javax.ejb.EJBMetaData.class javax.ejb.EJBObject.class javax.ejb.EnterpriseBean.class javax.ejb.EntityBean.class javax.ejb.EntityContext.class javax.ejb.FinderException.class javax.ejb.Handle.class javax.ejb.HomeHandle.class javax.ejb.MessageDrivenBean.class javax.ejb.MessageDrivenContext.class javax.ejb.NoSuchEntityException.class javax.ejb.NoSuchObjectLocalException.class javax.ejb.ObjectNotFoundException.class javax.ejb.RemoveException.class javax.ejb.SessionBean.class javax.ejb.SessionContext.class javax.ejb.SessionSynchronization.class javax.ejb.TimedObject.class javax.ejb.Timer.class javax.ejb.TimerHandle.class javax.ejb.TimerService.class javax.ejb.TransactionRequiredLocalException.class javax.ejb.TransactionRolledbackLocalException.class javax.ejb.spi.HandleDelegate.class

java开发ejbjar包

java中的ejb包,我公司用到的很实用的jar文件,后台用ejb 反射技术很实用的jar文件。

1 搭建EasyUI环境

1 安装Web服务器,在http://tomcat.apache.org/download-70.cgi下载Tomcat7安装版本。安装好Tomcat后,启动Tomcat,在浏览器输入http://localhost:8080/ ,如果看到欢迎界面,表示安装成功。 2 在官方网站http://www.jeasyui.com/download/index.php下载jQuery EasyU

河职院杨浪 8863

Eclipse开发EJB3

Eclipse开发EJB3开发环境:MyEclipse 5.5  jboss-4.2.0.GA1.     创建 EJB工程(图1):(图1)输入EJB工程名称,以及持久化文件配置信息,如下图:Persistence Unit Name : 输入数据库的名称如:tDB JNDI Data Source : 输入JBOSS 中配置的数据源名称如:java:MSSQLD

chenmp的专栏 917

java ecj_独立使用 ecj

ECJ 是 Eclipse Compiler for Java 的缩写,是 JavaTM 认可的 Java 编译工具(类似 javac)。可以单独下载使用。下载地址: http://mirrors.ustc.edu.cn/eclipse/eclipse/downloads/drops4/R-4.11-201903070500/ecj-4.11.jar(使用 ustc 的 mirror,然后在 ec...

weixin_31969199的博客 2027

J2EE基础总结(5)——EJB

什么是EJB     JB事实上就是企业Java Beans。 EJB是J2EE平台的重要组成部分。 J2EE平台基于组件的企业级应用架构,提供多 层次。分布式和高事务的功能特点。     EJB提供了一个架构,充分考虑健壮性。高可扩展性和高性能的基于组件的企业应用程序开发和部署。一个EJB应 用程序能够部署在不论什么符合J2EE1.3标准规范的应用程序server上。我们...

weixin_33739627的博客 195

ejb开发实例

 刚开始学习ejb,依据基本原理编写一个ejb小例子,有想学习ejb的欢迎大家一块学习指导! my QQ 243067750   1 新建ejb项目   1、Remote(或Local)接口 package com.terry.ejbsample; import java.rmi.RemoteException; import javax.ejb.EJBObject; public...

jinchun1223的专栏 288

我与EJB第一次见面

一、开发环境的准备      Eclipse + JDK 1.7 + JBoss 4.2   二、编写自己的第一个HelloWorld程序     step 1:在Eclipse中新建一个EJB Project,项目名称取为HelloWorld     在这里,我们需要注意:runtime和EJB version,如果没有runtime,我们需要新建,选择我们下载的JBoss目录;对...

flappy tortoise 153

EJB学习笔记(by quqi99)

 EJB学习笔记(by quqi99) 作者:张华 发表于:2010-01-14版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 下面看看如何在eclipse中开发一个EJB,以及一个EJB client1)新建EJB Project, 名称为SFSBejb, EJB Module version选择3.0,点击“A

技术并艺术着 1979

第一个EJB项目(eclipse+Jboss

项目开发环境: eclipse (Version:Luna Service Release 1 (4.4.1)) Jboss-eap-6.2 JDK1.8.0 创建EJB项目: File—>new—>EJB Project

pmaxyt 2780

使用Eclipse3.0+lomboz3.0+jboss3.2.3开发EJB(二)

<!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--><script type="text/javascript"

zgqtxwd的专栏 477

EJB学习(二)——使用Eclipse+JBOSS创建第一个EJB项目

1.环境配置         ·Eclipse:Luna Service Release 1 (4.4.1) ·JBOSS:JBOSS AS 5.0 ·

周江霄 9382

eclipse开发EJB实例

运行环境:1、  jdk:到http://java.sun.com下载,这里使用j2sdk1.5 2、  jboss:到http://www.jboss.org下载,这里使用jboss-4.0.2 3、  eclipse:到http://www.eclipse.org下载,这里使用eclipse-SDK-3.1-win324、  myeclipse:到http://www.myeclipse.co

闷炮闲话 1万+

Eclipse jboss搭建EJB项目

Eclipse JBoss 创建EJB项目并启动和测试

csdn122325735的专栏 2400

eclipse上使用maven创建ejb-helloworld项目

前提条件:已安装eclipse,并完成maven配置 1. 新建maven project,填好Artifact上的Group Id和Artifact Id,Packaging中选择pom 2. 新建两个maven module,分别是server和client 3. server中新建RemoteHelloWorld接口和HelloWorldBean

冲冲冲 2482
上一篇: Some notes on DB2 for z/OS
下一篇: IBM大型主机(Mainframe)技术简介之一——系统概述
quanben
博客等级 码龄22年 175粉丝 199原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值