EJB第二季

来源:互联网 发布:推荐虎扑nike淘宝店 编辑:程序博客网 时间:2024/04/27 13:36

我编写了一个EJB 如下:
部署成功,但在运行时出现错误。

请各位高手不吝赐教,不胜感激!!!

运行环境、代码、命令和错误信息全部列在下面


RemoteInterface.java

/**
* 第一步:
*
定义一个新的接口继承javax.ejb.EJBObject。新定义的接口中的每一个方法都必须抛出
* java.rmi.RemoteException异常。
*/
public interface RemoteInterface extends
javax.ejb.EJBObject
{
public String message(String str)throws
java.rmi.RemoteException;
}

RemoteObject.java

/**
* 第二步:
*
定义一个类来实现javax.ejb.SessionBean接口。并在该类中实现在第一步中编写的接口中所定义的方法。
*/
public class RemoteObject implements
javax.ejb.SessionBean
{
public String message(String str)throws
java.rmi.RemoteException
{
System.out.println("Remote Object Received From
Client: \""+str+"\"");
//打印(从客户端)接收到的字符串。
return "Hello,I'm Remote Object,I received your
message: \'"+str+"\'"; //返回一应答字符串。
}

public RemoteObject() {}
public void ejbCreate() {}
public void ejbRemove() {}
public void ejbActivate() {}
public void ejbPassivate() {}
public void setSessionContext(javax.ejb.SessionContext
sc) {}
}

RemoteHome.java

/**
* 第三步:
* 定义一个类继承javax.ejb.EJBHome 。
*/
public interface RemoteHome extends javax.ejb.EJBHome
{
RemoteInterface create()throws
java.rmi.RemoteException,javax.ejb.CreateException;
}

//: 第四步 Client.java

public class Client {
public static void main(String[] args){
try{
javax.naming.Context initContext=new javax.naming.InitialContext();

//远程查找,由名字得到对应的对象。
Object obj=initContext.lookup("HelloWorld");

RemoteHome home=(RemoteHome)javax.rmi.PortableRemoteObject.narrow(obj,RemoteHome.class);
RemoteInterface remote=home.create();

//远程方法调用
String receiveFromRemote=remote.message("Hello,Remote Object!");
System.out.println("Client Received From Remote Object: \""+receiveFromRemote+"\"");
} catch(Exception e) {
e.printStackTrace();
}
}
}


//:Deployment Descriptor: ejb-jar.xml

<?xml version='1.0' encoding='UTF-8'?> <ejb-jar       version="2.1"       xmlns="http://java.sun.com/xml/ns/j2ee"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"       >    <display-name          xml:lang="zh"          >HelloWorld</display-name>    <enterprise-beans>       <session>          <ejb-name>RemoteObject</ejb-name>          <home>RemoteHome</home>          <remote>RemoteInterface</remote>          <ejb-class>RemoteObject</ejb-class>          <session-type>Stateless</session-type>          <transaction-type>Bean</transaction-type>          <ejb-ref>             <ejb-ref-name>HelloWorld</ejb-ref-name>             <ejb-ref-type>Session</ejb-ref-type>             <home>RemoteHome</home>             <remote>RemoteInterface</remote>          </ejb-ref>          <security-identity>             <use-caller-identity>             </use-caller-identity>          </security-identity>       </session>    </enterprise-beans> </ejb-jar> 

运行环境:
indows XP Professional

Sun MicroSystem j2ee 1.4
Deployment Tool for Java 3 Platform Enterprise Edition 1.4

部署成功!

发出命令:
D:\HelloWorld>java -classpath c:\sun\appserver\lib\j2ee.jar;c:\sun\appserver\lib;.;HelloWorldClient.jar; Client

错误信息:
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet 

parameter, or in an application resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:640)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:280)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at Client.main(Client.java:12)

D:\HelloWorld>
 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 房子照不到阳光潮湿怎么办 4个月婴儿不拉屎怎么办 小孩六个月奶不够吃怎么办 到晚上就没奶水怎么办 20多天奶水不够怎么办 四个月奶不够吃怎么办 7个月宝宝不肯吃东西怎么办 6个月宝宝不肯吃东西怎么办 十一个月宝宝不肯吃东西怎么办 九个月宝宝不肯吃辅食怎么办 八个月宝宝不肯吃辅食怎么办 七个月宝宝不肯吃辅食怎么办 7个月宝不吃辅食怎么办 在月子里奶不够怎么办 8月宝宝不吃辅食怎么办 8个月不吃辅食怎么办 宝宝不吃药怎么办一岁 奶水不足宝宝又不吃奶粉怎么办 一岁婴儿突然不吃饭怎么办 一岁宝宝突然不吃饭怎么办 一岁半宝宝突然不爱吃饭怎么办 1岁宝宝突然不爱吃饭怎么办 一岁多宝宝突然不爱吃饭怎么办 一岁半宝宝突然不吃饭怎么办 八个月宝宝不吃奶粉怎么办 小孩铅超标怎么办如何排铅 宝宝突然不吃辅食怎么办 6个月宝宝不喝奶怎么办 宝宝4月不吃母乳怎么办 不吃母乳怎么办 8个月 宝宝不吃奶粉母乳又不够怎么办 宝宝只吃母乳不吃奶粉怎么办 十个月宝宝不爱吃辅食怎么办 奶水不足宝宝不吃奶粉怎么办 两个月宝宝不吃奶瓶怎么办 宝宝拉的有鼻涕怎么办 七个月宝宝拉肚子拉水怎么办 十个月宝宝拉肚子拉水怎么办 一个月宝宝拉肚子拉水怎么办 五个月的宝宝拉肚子还拉水怎么办 4岁宝宝拉肚子怎么办拉水样