又急,又迷惑!!!关于EJB服务端的理解!!!!!!,

tigerbananaapple 2003-03-19 04:35:36
书上说《EJB是WEBLOGIC提供的一种服务,使用RMI
调用过程:
客户端,通过URL找到EJB服务器
通过JNDI找到具体的EJB
发送请求,得到返回值(远程方法调用协议)》
我是做JSP的用的是B/S结构的,现在要用的EJB(三层结构的),有几个问题。
1。三层是哪三层??
2。上面所说的客户端是指什么地方????是BROWSE(浏览器)端吗???
3。EJB服务器是都包括什么??JAR文件?
4。数据库在什么地方???
5。EJB的JAR文件是在EJB客户端,还是在EJB服务器端????
我现在有开发商提供的一个的EJB的包,但是没有给出数据库,我能自己建个库模拟一下吗???
...全文
35 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tigerbananaapple 2003-03-20
  • 打赏
  • 举报
回复
能说的详细点吗解决马上给分,
这个问题已经两天了
谢谢大家了!!!
yabbi21 2003-03-20
  • 打赏
  • 举报
回复
如果你确信在weblogic服务器上发布(部署)EAR文件成功了。
那么可能是由于client端的环境设置有问题。
如果有Jbuilder的话,你可以把weblogic和jbuilder整合起来,然后通过jbuilder自动创建一个测试客户端试一试?
建议你先别做实体bean,先做一个简单的session bean测试一下(不连接数据库的那一种)。
haode 2003-03-19
  • 打赏
  • 举报
回复
出现ClassCastException的原因好像是这个样子的(下面的文章出自水木清华java版)

这是典型的RMI调用方式。RMI Server把Implementation绑定到Registry上去,

由Client调用lookup()方法返回Implementation的Reference--即Stub。由于Stub也实现
了相应的Remote Object接口,所以可以强制转换成Remote Object。
rhythin的程序出了ClassCastException,可能是由于代码在不同地方保留了不同版本的
原因。
Client端的代码忘了更新,常常会出现这个问题。
tigerbananaapple 2003-03-19
  • 打赏
  • 举报
回复
谢谢你!!!
我在EJB提供商那里运行程序没有事可以读出数据
可是回来在自己的机子上模拟了提供商的数据库就报下面的错误:(EJB在我的上WEBLOGIC上发布了程序也没问题,就是出下面的错误!!)这是怎么回事?????有可能是哪的错误呢???

java.lang.ClassCastException
at com.sun.corba.se.internal.javax.rmi.PortableRemoteObject.narrow(Porta
bleRemoteObject.java:296)
at javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:137)
apan_bj 2003-03-19
  • 打赏
  • 举报
回复
J2EE一般可以分三层:
首先JSP做为表示层,专门用于显示页面及结果使用,一般不在JSP上做任何逻辑操作。
其次,SERVLET作为一个中间纽带,很多逻辑可实现在SERVLET上进行,通过调用Java Bean上的方法,然后将结果传入到JSP上去。Java Bean主要用来存放实现业务逻辑的各个方法。
而EJB作为事务层,用语描述数据库的组织结构及实现一些对数据库操作的方法。EJB分为三种。一般Session Bean来实现逻辑方法,Entity Bean来描述数据库。

不知道我说的明白吗?
liuyu9806 2003-03-19
  • 打赏
  • 举报
回复
其实,客户端和服务器端是两个不同的概念,但是这只是逻辑上的概念。实际中服务器端也可能是客户端,当然了客户端也就可能是服务器端了。这就是对你自己的机器的理解。
tigerbananaapple 2003-03-19
  • 打赏
  • 举报
回复
还是有些不明白,我现在使用的WEBLOGIC这台机子是EJB客户端???还是服务端???
Wkenny 2003-03-19
  • 打赏
  • 举报
回复
是你的jndi name 搞错了吧??
tigerbananaapple 2003-03-19
  • 打赏
  • 举报
回复
谢谢你!!!
我在EJB提供商那里运行程序没有事可以读出数据
可是回来在自己的机子上模拟了提供商的数据库就报下面的错误:(EJB在我的上WEBLOGIC上发布了程序也没问题,就是出下面的错误!!)这是怎么回事?????有可能是哪的错误呢???

java.lang.ClassCastException
at com.sun.corba.se.internal.javax.rmi.PortableRemoteObject.narrow(Porta
bleRemoteObject.java:296)
at javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:137)
yabbi21 2003-03-19
  • 打赏
  • 举报
回复
1)三层:数据层,中间件层 ,表示层
在EJB中对应:DB,EJB/Corba,Client(App/JSP/Applet...)
2)客户端只是一个逻辑上的概念,通常指App/JSP/Applet...等表示层的技术
3)EJB服务器指运行EJB的环境,比如Weblogic中的EJB容器。
4)数据库运行在最底层,在三层设计中,它通常不直接报漏给表示层,比如EJB中通过实体BEAN来访问数据库
5)EJB的JAR文件部署在EJB服务器端。部署成功后会生成Client.jar,该.jar包可供客户端运行使用

6)可以自己建个库模拟一下。(也可以通过某些应用服务器提供的功能(比如WEBlogic就支持)自动建表,当然,需要先和数据库连接并有建表权限)

67,517

社区成员

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

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