[help]编译j2ee tutorial 第一个例子出错!2

xlhl 2003-12-16 10:51:22
编译j2ee tutorial 第一个例子
设置如下
J2EE_HOME: E:\j2sdkee1.3.1
JAVA_HOME: E:\j2sdk1.4.1_01
CLASSPATH: .;E:\j2sdkee1.3.1\lib\j2ee.jar;E:\j2sdkee1.3.1\lib\classes;E:\j2sdk1.4.1_01\bin;E:\j2sdkee1.3.1\bin;.
PATH: E:\j2sdk1.4.1_01\bin;E:\j2sdkee1.3.1\bin;E:\j2sdkee1.3.1\lib;E:\j2sdkee1.3.1\lib\j2ee.jar;

======================================================================================
//ConverterClient.java

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;
import java.math.BigDecimal;

import Converter;
import ConverterHome;

public class ConverterClient {

public static void main(String[] args) {
try {
Context initial = new InitialContext();
Context myEnv = (Context)initial.lookup("java:comp/env");
Object objref = myEnv.lookup("ejb/SimpleConverter");

ConverterHome home =
(ConverterHome)PortableRemoteObject.narrow(objref,
ConverterHome.class);

Converter currencyConverter = home.create();

BigDecimal param = new BigDecimal ("100.00");
BigDecimal amount = currencyConverter.dollarToYen(param);
System.out.println(amount);
amount = currencyConverter.yenToEuro(param);
System.out.println(amount);

System.exit(0);

} catch (Exception ex) {
System.err.println("Caught an unexpected exception!");
ex.printStackTrace();
}
}
}
-----------------------------------------------------------------------------------------
编译结果:
E:\j2sdkee1.3.1\lib>javac *.java
ConverterClient.java:15: '.' expected
import Converter;
^
ConverterClient.java:16: '.' expected
import ConverterHome;
^
2 errors

=================================================================================
以下三个文件正确编译
//Converter.java
import javax.ejb.EJBObject;
import java.rmi.RemoteException;
import java.math.*;

public interface Converter extends EJBObject {

public BigDecimal dollarToYen(BigDecimal dollars) throws RemoteException;
public BigDecimal yenToEuro(BigDecimal yen) throws RemoteException;
}

import java.rmi.RemoteException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import java.math.*;
//ConverterBean.java
public class ConverterBean implements SessionBean {

BigDecimal yenRate = new BigDecimal("121.6000");
BigDecimal euroRate = new BigDecimal("0.0077");

public BigDecimal dollarToYen(BigDecimal dollars) {

BigDecimal result = dollars.multiply(yenRate);
return result.setScale(2,BigDecimal.ROUND_UP);
}

public BigDecimal yenToEuro(BigDecimal yen) {

BigDecimal result = yen.multiply(euroRate);
return result.setScale(2,BigDecimal.ROUND_UP);
}

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

}
------------------------------------------------------------------------------------
//ConverterHome.java

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

public interface ConverterHome extends EJBHome {

public Converter create() throws RemoteException, CreateException;

}
-----------------------------------------------------------------------------------
...全文
28 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xlhl 2003-12-17
  • 打赏
  • 举报
回复
MagicFly(活在理想中,心在自由飞):感谢你的帮助!
MagicFly 2003-12-17
  • 打赏
  • 举报
回复
xlhl(顽皮兔子) :原例程要没有这两句

请查阅正版J2EE TUTORIAL 1.3

j2eetutorial\examples\src\ejb\converter
xlhl 2003-12-16
  • 打赏
  • 举报
回复
MagicFly(活在理想中,心在自由飞):
import Converter;
import ConverterHome;
这可以不要吗,为什么原例程要有这两句?
MagicFly 2003-12-16
  • 打赏
  • 举报
回复
Converter
ConverterHome

一个是远程接口,一个是HOME接口
是容器自动调用的。

另外我还做了这个例子的部署视频文件。如果要的话给我发个邮件
jinyeibin@163.com
MagicFly 2003-12-16
  • 打赏
  • 举报
回复
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;
import java.math.BigDecimal;

public class ConverterClient {

public static void main(String[] args) {
try {
Context initial = new InitialContext();
Context myEnv = (Context)initial.lookup("java:comp/env");
Object objref = myEnv.lookup("ejb/SimpleConverter");

ConverterHome home =
(ConverterHome)PortableRemoteObject.narrow(objref,
ConverterHome.class);

Converter currencyConverter = home.create();

BigDecimal param = new BigDecimal ("100.00");
BigDecimal amount = currencyConverter.dollarToYen(param);
System.out.println(amount);
amount = currencyConverter.yenToEuro(param);
System.out.println(amount);

System.exit(0);

} catch (Exception ex) {
System.err.println("Caught an unexpected exception!");
ex.printStackTrace();
}
}
}
xlhl 2003-12-16
  • 打赏
  • 举报
回复
up的人都没有??

67,516

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧