J2EE编程起步(一)

j2ee|编程

为了帮助国内J2EE初学者,将J2EE部分文档进行编译,期望能够对广大Java爱好者有所帮助。

本文将通过简单例子,描述如何利用EJB开发、部署和运行一个客户机/服务器应用。例子的客户端作为Java独立应用运行,由 ConverterClient.java类实现。它实现一个简单的实时会话,主要通过客户端应用调用服务器端EJB类 ConverterEJB.java来实现。如果你已经安装了J2EE,则可以在doc/guides/ejb/examples/converter目录中找到这些例子。

为了实现本文所描述的简单例子,你需要完成以下任务:

·编写和编译EJB程序
·创建J2EE应用
·打包EJB(.jar)
·部署J2EE应用
·编写和编译客户端程序
·运行客户端

下面章节我们将就上述工作任务以及所涉及的知识点进行简单阐述。

前提

实现本文提供例子的前提是您安装了Javasoft.com或相关操作系统厂商网站下载的J2SE SDK,以及安装了相应操作系统版本的J2EE SDK(www.javasoft.com下载)并进行了正确配置。关于J2SE和J2EE的安装、配置和其它进一步信息,请参阅产品相关文档。

EJB编码

每个EJB程序必须要求编写下述代码:

·远程接口(Remote interface )
·本地接口(Home interface )
·实现组件(Enterprise bean class )

远程接口编码

远程接口定义了客户端能够调用的商业方法,这些商业方法是有服务器端的企业组件实现的,本文所涉及的Converter.java编码如下:

import javax.ejb.EJBObject;//引入必须的包
import java.rmi.RemoteException;

public interface Converter extends EJBObject {//必须继承EJBObject类
/*定义客户端可以调用的方法*/
public double dollarToYen(double dollars) throws RemoteException;
public double yenToEuro(double yen) throws RemoteException;
}

本地接口编码

本地接口定义了员徐客户端创建、查找或移动EJB的方法,本文所涉及的本地接口类ConverterHome接口只定义了一个create方法,返回远程接口类型,编码如下:

import java.io.Serializable;
import java.rmi.RemoteException;
import javax.ejb.CreateException;
import javax.ejb.EJBHome;

public interface ConverterHome extends EJBHome {

Converter create() throws RemoteException, CreateException;
}

企业组件类(EJB)编码

本文中的企业组件(EJB)是一个无状态会话组件,命名为ConverterEJB.java,该组件实现了两个商业方法:dollarToYen和yenToEuro,与远程接口Converter所定义客户端可访问方法一致,该类编码如下:

import java.rmi.RemoteException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;

public class ConverterEJB implements SessionBean {
public double dollarToYen(double dollars) {
return dollars * 121.6000;
}

public double yenToEuro(double yen) {

return yen * 0.0077;
}

public ConverterEJB() {}
public void ejbCreate() {}
public void ejbRemove() {}
public void ejbActivate() {}
public void ejbPassivate() {}
public void setSessionContext(SessionContext sc) {}
}

编译EJB

现在需要对上述三个类进行编译,在UNIX平台和NT/9X平台上的编译略有区别,分别如下编译:

UNIX:

1. 在下面的脚本compileEJB.sh中,将该成实际J2EE安装目录。

#!/bin/sh
J2EE_HOME=
CPATH=.:$J2EE_HOME/lib/j2ee.jar
javac -classpath "$CPATH" ConverterEJB.java ConverterHome.java Converter.java

2. 运行compileEJB.sh 脚本

Windows:

1. 在下面的compileEJB.bat批处理文件中,将 该为实际J2EE安装目录。

set J2EE_HOME=
set CPATH=.;%J2EE_HOME%\lib\j2ee.jar
javac -classpath %CPATH% ConverterEJB.java ConverterHome.java Converter.java

2. 运行批处理文件compileEJB.bat。

时间: 2024-11-02 00:12:42

J2EE编程起步(一)的相关文章

J2EE编程起步(二)

j2ee|编程 创建J2EE应用 你不能够直接将企业组件(EJB)部署到J2EE服务器,必须将组件加到一个J2EE 应用中然后再部署.在本节,你将创建一个叫做ConverterApp的新J2EE应用并保存为ConverterApp.ear. 1. 在命令行提示符下启动J2EE服务器: j2ee ?verbose (停止服务器命令 j2ee -stop.) 2. 在另一个终端窗口运行部署工具: deploytool (按F1获取部署工具帮助) 3. 创建新的J2EE应用 a. 在部署工具中选择"文

利用Spring框架改进J2EE编程

j2ee|编程 摘要 J2EE编程正在变得越来越复杂.J2EE已经发展为一个API.复杂化的编程和配置的复杂网络.为了应对这种复杂性,新的框架和方法不断涌现.这些框架高度依赖于一个称为IoC(Inversion of Control,反向控制)的概念.本文将探讨这种方法的一些特性和优点,因为这种方法与J2EE编程相关,而且可以使J2EE编程变得更轻松. 简介 马克·吐温的一句话常被引用:"--关于我死亡的报道是一种夸张."现在已经出现了很多关于.Net的流言,以及认为J2EE API的

javascript编程起步(第三课)_基础知识

javascript编程起步第三课 第三课终于和大家见面了, 大家要感谢 Actions 的辛勤劳动啊, 好好利用论坛给大家提供的资源和教程, 希望大家一起学习提高 :D 大家有什么意见, 建议或者想法, 可以到本版的教程问答区 或 站务管理版的 建议或意见 去发表, 我们会及时给您反馈 :) 下面是今天的学习重点 A.补充上课的变量内容 B.if语句的基本语法 C.window.com()基本用法 A.变量 1.变量的类型规则 javascript是无类型的他的变量可以放任何数据类型的值. 2

Geronimo!第1部分: 让J2EE编程更加简单

J2EE 是一个不依赖于平台的环境,设计这个环境是为了开发和配置在企业范围内使用 的基于网络的应用程序.这个平台曾被喻为元语言或语言超集.但在本质上,J2EE 仅仅是 Java 编程语言和一些特定的 Java 类的最小集合.(参见 参考资料 中 J2EE 类文档的链 接.) J2EE 由用于开发多层且基于网络的应用程序的应用编程接口(API).服务 以及协议组成.它是一个复杂的标准,要想写一篇使之简化的文章,其难度不亚于撰写一 篇简化联邦税务代码的文章,这可不是一件容易的事.但是,让我们从它的一

新手指南 J2EE专家起步图解

j2ee 很多人都知道J2EE,但有多少人真正知道它的含义呢?简单的说,J2EE是一套商业应用系统模型或者说是一种规范,它包含java远程方法调用(RMI).企业级javaBean(EJB).java消息服务(JMS),java服务器页面(JSP)等等.利用J2EE的资源我们可以方便.迅速的创建一个强大的企业级应用,比如电信的收费系统,企业的知识管理系统等.你可能会想,开发这么强大的系统,一定需要大量的投资吧?其实不然,我们利用现有的网络找就可以找到免费甚至是开源的部件,再将他们组装成一个可用的

新手指南 J2EE专家起步图解2

j2ee 二. 开发第一个EJB EJB2.0规范中定义了3种企业Bean.分别为会话Bean(Session Bean).实体Bean(Entity Bean)和消息驱动Bean(Message Driven Bean).会话Bean模拟一个商务过程:实体Bean模拟商务数据:而消息驱动Bean与会话Bean类似也是在模拟一个商务过程,但消息驱动Bean只接受消息的调用. 本文着重介绍如何快速开发一个实体Bean.因为会话Bean相对简单,在理解了实体Bean后,自己很容易就能编写出来.而消息

javascript编程起步(第六课)_基础知识

mouseDown事件和mouseUp事件 大家知道,mouseDown事件和mouseUp事件的组合就是click事件,但是如果在链接上按下鼠标,并移到链接之外在放开鼠标,那么就只有mouseD own事件了.这两个事件可以增加图标按钮的图像效果,   至于mouseDown和mouseUp的属性,它们是伴随着Click事件发生的,这和keyPress事件是keyDown事件和keyUp事件组合而成的机制是一样的 ,这3个鼠标事件也有modifier属性.   (注意:如果在onClick事件

C#多线程编程起步

.NET将关于多线程的功能定义在System.Threading名字空间中.因此,要使用多线程,必须先声明引用此名字空间(using System.Threading;). 即使你没有编写多线程应用程序的经验,也可能听说过"启动线程""杀死线程"这些词,其实除了这两个外,涉及多线程方面的还有诸如"暂停线程""优先级""挂起线程""恢复线程"等等.下面将一个一个的解释. a.启动线程 顾名

J2EE编程应用中的七个JSP动作指令

  动作指令与编译指令不同,编译指令是通知 Servlet 引擎的处理消息,而动作指令只是运行时的脚本动作.编译指令在将JSP 编译成 Servlet 时起作用:处理指令通常可替换成 Java脚本,是 JSP脚本的标准化写法. JSP 动作指令主要有以下七个: jsp:forward 执行页面转向,将请求的处理转发到下一个页面. jsp:param 用于传递参数,必须与其他支持参数曲标签一起使用. jsp:include 用于动态引入一个 JSP 页面. jsp:p1ugin 用于下载 Java