`

EJB中java.lang.ClassCastException的异常

    博客分类:
  • EJB
阅读更多

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>

 

分享到:
评论

相关推荐

    java.lang.ClassCastException

    在Java编程中,`java.lang.ClassCastException`是一个运行时异常,通常发生在强制类型转换时,如果尝试将一个对象转换为其非兼容类型时就会抛出。这个异常表明在编译时可能成功的类型转换,在运行时被证明是错误的。...

    java的ejb.jar包

    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.jar下载

    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....

    javax.ejb.rar

    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...

    java.lang.NoClassDefFoundError: org/jboss/logging/

    Java编程中的`java.lang.NoClassDefFoundError: org/jboss/logging/`是一个常见的运行时错误,通常发生在尝试执行一个类时,JVM无法找到在编译时已经存在的类定义。这个错误并不意味着类在编译期间不存在,而是表明...

    Apress.Pro.EJB.3.Java.Persistence.API

    《Apress.Pro.EJB.3.Java.Persistence.API》这本书专注于企业级Java开发中的核心技术——EJB(Enterprise JavaBeans)3.0和Java Persistence API(JPA)。EJB是Java平台上用于构建可部署在服务器端的企业级应用的...

    Apress.Pro.EJB.3.Java.Persistence.API.pdf

    《Apress.Pro.EJB.3.Java.Persistence.API》这本书深入探讨了Java企业版(EJB)3中的持久化API,即Java Persistence API(JPA)。EJB 3是Java平台企业级应用开发的重要组成部分,它提供了对数据库操作的标准化框架,...

    javax.ejb-3.1.2.2.jar下载

    - `javax.ejb.TimerService`:提供了定时任务的管理,可以在EJB中创建和管理定时器。 描述中提到的“开发EJB项目时需要的jar包”表明了`javax.ejb-3.1.2.2.jar`对于EJB项目的必要性。在开发环境中,这个jar需要被...

    Apress.Pro.EJB.3.Java.Persistence.API.May.2006.zip

    在《Apress.Pro.EJB.3.Java.Persistence.API.May.2006》这本书中,作者可能详细讲解了以下知识点: 1. **EJB 3.0概述**:介绍EJB 3.0的核心改进,包括简化编程模型、增加注解支持和更友好的API设计。 2. **Java ...

    javax.ejb.jar.zip

    【标题】"javax.ejb.jar.zip" 是一个与Java企业版(Java EE)相关的压缩文件,其中包含`javax.ejb.jar`这个核心组件。该组件是Java平台企业版的一部分,主要用于实现企业级Java应用中的Enterprise JavaBeans(EJB)...

    Pro.EJB.3.Java.Persistence.API.pdf

    本书《Pro.EJB.3.Java Persistence API》深入探讨了如何利用EJB 3.0和Java Persistence API来构建高效且可维护的企业级Java应用程序。通过对这些技术的详细讲解,读者可以更好地理解和应用这些强大的工具来解决实际...

    javax.ejb.jar

    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....

    agent-ejb-2.1.6.jar.zip

    在Java世界中,EJB(Enterprise JavaBeans)是用于构建可复用的、安全的、分布式的服务器端应用程序的重要组件。"agent-ejb-2.1.6.jar.zip"是一个包含EJB组件的压缩文件,它对于理解Java企业级应用的架构和开发至关...

    Java.J2EE.EJB-Enterprise.JavaBeans, 3rd Edition-Titan.Books

    《Java.J2EE.EJB-Enterprise.JavaBeans, 3rd Edition-Titan.Books》是一部针对企业级Java开发的重要参考资料,特别关注Java Enterprise Edition (J2EE) 中的Enterprise JavaBeans (EJB) 技术。这本书的第三版,由...

    javax.ejb-api.jar

    javax.ejb-api.jar 这个包是用于EJB开发的工具包,请需要的自行下载

    ejb-jar.xml(中文)

    布署EJB要用的ejb-jar.xml文件,中文的,可以直接用。

    J2EE 配置文件 - ejb-jar.xml(英文)

    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 ...

    javax.ejb-3.1.2.2_with-source.zip

    在Java EE中,EJB(Enterprise JavaBeans)是核心组件之一,它提供了一种规范,用来构建可重用的、安全的、事务处理的服务器端业务逻辑。"javax.ejb-3.1.2.2_with-source.zip"是一个包含了javax.ejb-3.1.2.2版本的...

    ejb-persistence.jar

    ejb-persistence.jar JPA注解

    jboss7ejb配置文件

    在Java企业版(Java EE)应用开发中,EJB(Enterprise JavaBeans)是核心组件,用于构建可扩展、安全和事务处理的服务器端应用程序。JBoss AS(现在称为WildFly)是一个开源的应用服务器,它支持Java EE规范,包括...

Global site tag (gtag.js) - Google Analytics