1、发布server
我用的是myeclipse,所以创建ejb项目比较简单。发布和普通的发布tomcat一样。
2、用java project连接ejb
报错java.lang.ClassCastException的原因网上很多,我犯了一个低级错误,就是server上的ejb接口和我本地java project里面的接口包路径不对,所以会报类型转换异常。
还有如果用java project记得要引入jbossall-client.jar到classpath中。
附上test.java代码
package test;
import javax.naming.InitialContext;
import javax.naming.NamingException;
public class Test {
public static void main(String[] args) {
InitialContext ctx;
try {
ctx = new InitialContext();
EJBHelloRemote ret = (EJBHelloRemote)ctx.lookup("EJBHello/remote");
String s = ret.sayTime();
System.out.println(s);
} catch (NamingException e) {
e.printStackTrace();
}
}
}
这里上下文是通过默认的,所以你需要一个jndi.properties的配置文件,如下:
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=jnp://localhost:1099
而且是放在src下面。
如果不用默认的,你可以自己在代码中写,网上搜下 ejb初始化上下文。
EJBHelloRemote 接口如下:
package test;
import javax.ejb.Remote;
@Remote
public interface EJBHelloRemote {
public String sayTime();
}
3、用web project连接ejb
和java project一样写一个ejb的接口(记得包路径要一样)。
然后在jsp中调用。
jsp代码如下:
<%@ page language="java" import="java.util.*,javax.naming.*,test.*" pageEncoding="GB2312"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<%
InitialContext ctx = new InitialContext();
EJBHelloRemote hello =(EJBHelloRemote)ctx.lookup("EJBHello/remote");
out.print(hello.sayTime());
%>
</body>
</html>
分享到:
相关推荐
Pro.EJB.3.Java.Persistence.API.pdf 有你分享,更精彩!
Apress.Pro.EJB.3.Java.Persistence.API.pdf
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....
javax.ejb.EJB.class javax.ejb.EJBAccessException.class javax.ejb.EJBContext.class javax.ejb.EJBException.class javax.ejb.EJBHome.class javax.ejb.EJBLocalHome.class javax.ejb.EJBLocalObject.class javax...
Files contained in javax.ejb.jar: META-INF/MANIFEST.MF javax.ejb.AccessLocalException.class javax.ejb.AccessTimeout.class javax.ejb.ActivationConfigProperty.class javax.ejb.AfterBegin.class javax....
Files contained in javax.ejb.jar: META-INF/MANIFEST.MF javax.ejb.AccessLocalException.class javax.ejb.AccessTimeout.class javax.ejb.ActivationConfigProperty.class javax.ejb.AfterBegin.class javax....
布署EJB要用的ejb-jar.xml文件,中文的,可以直接用。
ejb-jar元素是EJB发布描述器的根元素,它包含一个可选的EJB-JAR文件的描述,可选显示的名称,可选小图标的文件名,可选的大图标的文件名,必须的所有被包含的enterprise bean 的结构信息 ,可选的应用装配描述器,可选的...
javax.ejb.jar.zip
The ejb-jar element is the root element of the EJB deployment descriptor. It contains an optional description of the ejb-jar file, optional display name, optional small icon file name, optional large ...
Java.J2EE.EJB-Enterprise.JavaBeans, 3rd Edition-Titan.Books
基于EJB的开发.ppt基于EJB的开发.ppt基于EJB的开发.ppt基于EJB的开发.ppt
this book is regarding on EJB3 and Java persistence API, From Apress publish
标签:agent-ejb-2.1.6.jar.zip,agent,ejb,2.1.6,jar.zip包下载,依赖包
ejb-persistence.jar JPA注解
ejb.doc ejb.doc ejb.doc ejb.doc ejb.doc ejb.dejb.dococejb.doc
标签:agent-ejb-2.1.2.jar,agent,ejb,2.1.2,jar包下载,依赖包
开发EJB项目时需要的jar包
在使用Hibernate3的时候,发现程序编译好了,在运行时总是抛出java.lang.NoClassDefFoundError: javax/persistence/EntityListeners异常,经查找是因为缺少ejb3-persistence.jar包。应该是这个~
ejb3.0 API