去http://java.sun.com看看都是E文的
我到有点资料如果愿意要的话给我发信吧
我到有点资料如果愿意要的话给我发信吧
解决方案 »
- 求一java正则~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 高手来啊
- JAVA中==和equals的区别
- 关于spring IDE装好后的问题?
- *******XFire配置出错*********
- 高人看看我的一个servlet 错在哪了? 我实在不知道为什么无法编译
- weblogic9怎么部署war包?
- 将tomcat下的STRUTS应用程序 移植到weblogic8.1下出现如下错误,请大家有过部署经验的高手指点一下,郁闷啊!
- 在JBuilderX+jboss4.0.2不能编译JSP??
- 求救!非常简单的EJB发布
- jb的ejb例子中各个HOME类中几个JAVA文件是怎么产生的
- 最简单的ejb问题,搞不懂,想不通,是不是见了鬼
一、环境配置
1、WIN2000SERVER或NT4,最好128M以上内存
2、正确安装了JDK
有关JDK的安装请参考相关文章,只有正确安装了JDK,才能确保J2EE的正常运行
3、下载j2sdkee-1_2_1-win.exe 和 j2sdkee-1_2_1-doc-win.exe 开发文档
相关网址:http://java.sun.com/j2ee/ 二、安装并配置J2EE
1、双击j2sdkee-1_2_1-win.exe开始安装,安装路径默认是C:\j2sdkee1.2.1 为了配置方便指定为 C:\j2ee ,你也可以指定自己的路径。
2、安装成功后将开发文档安装在J2EE\DOC目录下,当然,没有文档J2EE一样可以正常工作,该文档只是做为一个非常好的帮助,就像JAVA中的API一样,我们的例子就是从中选出的。
3、配置环境变量:
开始->设置->控制面板->系统->高级->环境变量->系统变量
新建:JAVA_HOME:C:\JDK ------C:\JDK是你安装JDK的目录
新建:J2EE_HOME:C:\J2EE ------C:\J2EE 是你安装J2EE 的目录
追加:CLASSPATH:C:\J2EE\lib\J2EE.jar;.;
这里的C:\J2EE是安装的根目录,如果你安装目录不是C:\J2EE,请将C:\J2EE换成你的安装目录。
三、一个J2EE application client 的简单例子
1、启动J2EE
打开一个DOS窗口,在C:\J2EE\BIN 目录下运行J2EE -verbose ,出现下列信息: J2EE server Listen Port: = 1049
Naming service started: :1050
Published the configuration object ...
Binding DataSource, name = jdbc/Cloudscape, url = jdbc:cloudscape:rmi:Cloudscape
DB;create=true
Web service started: 9191
Web service started: 8000
Web service started: 7000
J2EE server startup complete.
启动成功!在以后的运行中不要关闭该窗口
在IE浏览器中访问HTTP://localhost:8000 可以看到默认的主页信息。
2、编译JAVA文件
本例是DOC文档中guides\ejb\examples\converter的例子。 Converter.java文件: import javax.ejb.EJBObject;
import java.rmi.RemoteException; public interface Converter extends EJBObject { public double dollarToYen(double dollars) throws RemoteException;
public double yenToEuro(double yen) throws RemoteException;
} ConverterEJB.java文件: 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) {} } ConverterHome.java文件: 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;
} ConverterClient.java文件: import javax.naming.Context;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject; import Converter;
import ConverterHome; public class ConverterClient { public static void main(String[] args) {
try {
Context initial = new InitialContext();
Object objref = initial.lookup("MyConverter"); ConverterHome home =
(ConverterHome)PortableRemoteObject.narrow(objref,
ConverterHome.class); Converter currencyConverter = home.create();
double amount = currencyConverter.dollarToYen(100.00);
System.out.println(String.valueOf(amount));
amount = currencyConverter.yenToEuro(100.00);
System.out.println(String.valueOf(amount)); } catch (Exception ex) {
System.err.println("Caught an unexpected exception!");
ex.printStackTrace();
}
}
} 建立一个目录保存EJB文件,C:\MYEJB,在该目录中建converter文件夹,将上述四个文件放到converter文件夹中,编译JAVA文件。C:\MYEJB\converter\java *.java 3、启动Application Deployment Tool 布署工具
再打开一个DOS窗口,在C:\J2EE\BIN 目录下运行DEPLOYTOOL ,出现下列信息:
Deployment tool version 1.2.1. Type deploytool -help for command line options. S
tarting...
启动成功!在以后的运行中不要关闭该窗口
启动成功后出现窗口界面,该工具比较消耗资源,如果你的系统配置不高,运行速度较慢。 4、此时出现主界面,单击主界面进入布署配置界面,选择File菜单,New Application...选顶
在Application File Name输入:c:\MYEJB\converter\test.ear
在Application Disply Name输入:test
点击OK 5、选择File菜单,New Enterprise bean...选顶,
第一个界面为说明,可以直接Next
第二个界面在Contents框中添加CLASS文件,按ADD添加,在Root Directory 中指定C:\MYEJB\converter为根目录,按回车确定,选出ConverterEJB.class、ConverterHome.class、Converter.class通过ADD添加到下边的框中,这是三个最基本的构建EJB的文件,按OK确定。按NEXT进入下一步
第三个界面中:在Enterprise Bean Class中选中ConverterEJB
在Home Interface中选中ConverterHome
在Remote Interface中选中Converter
在Enterprise Bean Display Name中随便起个名字MyTest
在Bean type 中选中session和stateless
其中stateless用于类中只有方法,不保存值的情况
stateful用于类变量,保存值的情况
按NEXT进入下一步 第四个界面中可以直接按finish,也可以一路NEXT下去,看看各项情况,不用做任何配置,最后FINISH 6、选择Tools菜单,Deploy Application...选项,在Deploy界面中选中Return Client Jar,其中testClient.jar 就是我们要打包的jar。此前可以在Server菜单中ADD来选择主机,这里只以本地机试例。
按NEXT进入下一步,在JNDI NAME中填上JNDI,注意该名与ConverterClient.java文件中Object objref = initial.lookup("MyConverter");的"MyConverter"必须一致,填好按回车。
按NEXT进入下一步,最后按FINISH
此时进入Deployment Progress,系统自动运行,完成后点击OK,布署完毕。在主界面的Server Application中增加了一项test。 7、运行试验
打开一个DOS窗口,在C:\myejb\converter>下运行
java -classpath c:\j2ee\lib\j2ee.jar;.;testClient.jar ConverterClient
其中testClient.jar 为第6 项中生成的JAR
正常出现以下内容: 12160.0
0.77
如不能正常运行,大多是因为ClassPath设置的不正确造成的。 以上内容只是一个小的测试,适合入门时的练习,更详细的内容可查阅API文档或其它有关书藉.
*注:以上在路径C:\myejb\中的“\”为全角符号,copy后无法运行,实际运行时请更改为正确的反斜线
Error opening registry key 'Software\JavaSoft\Java Runtime Environment'
Error: could not find java.dll
Error: could not find Java 2 Runtime Environment.D:\MYEJB\converter>javac *.java
Converter.java:10: 不能解析符号
符号:类 EJBObject
位置:包 in ejb
import javax.ejb.EJBObject;
^
Converter.java:13: 不能解析符号
符号:类 EJBObject
位置:接口 in Converter
public interface Converter extends EJBObject {
^
ConverterEJB.java:11: 不能解析符号
符号:类 SessionBean
位置:包 in ejb
import javax.ejb.SessionBean;
^
ConverterEJB.java:12: 不能解析符号
符号:类 SessionContext
位置:包 in ejb
import javax.ejb.SessionContext;
^
ConverterEJB.java:14: 不能解析符号
符号:类 SessionBean
位置:类 in ConverterEJB
public class ConverterEJB implements SessionBean {
^
ConverterEJB.java:31: 不能解析符号
符号:类 SessionContext
位置:类 in ConverterEJB
public void setSessionContext(SessionContext sc) {}
^
ConverterHome.java:12: 不能解析符号
符号:类 CreateException
位置:包 in ejb
import javax.ejb.CreateException;
^
ConverterHome.java:13: 不能解析符号
符号:类 EJBHome
位置:包 in ejb
import javax.ejb.EJBHome;
^
ConverterHome.java:15: 不能解析符号
符号:类 EJBHome
位置:接口 in ConverterHome
public interface ConverterHome extends EJBHome {
^
ConverterHome.java:17: 不能解析符号
符号:类 CreateException
位置:接口 in ConverterHome
Converter create() throws RemoteException, CreateException;
^
10 个错误