您的位置:软件 > 开发者网络 > 开发工具 > Java > 正文
用EJB开发在线课堂
[文章信息]
作者:疾风之鹰
时间:2004-10-24
出处:yesky
责任编辑:方舟
[文章导读]
本文以一个在线课程项目为线索全景展现软件开发的各个步骤
advertisement
热点推荐
· IE最新安全漏洞补救几大措施
· M牛的网络生活之下载篇
· Norton Ghost 9.0全新体验
· InstallShield简明使用教程之前言
· Linux系统的硬件驱动程序编写原理
[正文]

上一页  1 2 3 4 5 6 7  下一页

  六、CoursesOnline的具体实现

  6.1 在Jbuilder 9中新建一个工程

  启动Jbuilder 9,File->New Project,项目名为CoursesOnline,选择路径后,点击finish



  因为CoursesOnline项目使用Oracle 9i数据库,所以还需要把Oracle的驱动加载进来,Project -> Project Properties -> Path -> Required libraries,点击add,在Select One Or More Libraries窗口中选择OracleJDBCLib



  OracleJDBCLib的配置请参考附录A.5.3 配置数据库驱动

  6.2 创建Entity Bean(CMP)

  6.2.1 新建一个EJB Module

  File -> New -> Enterprise ->EJB Module



  点击ok,并在接下来的窗口中为EJB Module命名为Courses,结果如下图



  6.2.2 Import Schema From Database

  在上图中的DataSources上点击右键,或者在Courses设计面板上点击右键,然后点击Import Schema From Database,在弹出的窗口中输入Driver,URL等参数,如下图所示



  点击ok,这时数据库中的5个表在DataSources面板中显示出来,如下图所示



  6.2.3 创建Entity Bean

  在上图中DataSources面板中右键Actor,在弹出菜单中选择Create CMP 2.0 Entity Bean,结果如下图



  左键点击Entity Bean Actor可以在弹出的窗口中编辑它的属性,在这里我们暂时使用默认值。接下来用同样的方法为其它四个表创建CMP 2.0 Entity Bean,结果如下图



  从左边的Project下拉菜单中可以看到,每个Entity Bean都有三个(或四个)Java程序与之相对应,例如Actor.java、ActorBean.java和ActorHome.java。为了便于管理,以及避免和后面的程序胡搅蛮缠搞得眼睛高度紧张,我把Entity Bean对应的java程序都放在com.chenxc.coursesOnline.ejb20下。点击Entity Bean的名称,在Bean Properties窗口中点击Classes And Packages…按钮,然后为每个类指定路径。

  6.2.4 阶段总结

  这一节中创建了五个CMP 2.0 Entity Bean,是CMP而不是BMP,是2.0而不是1.x,是local接口而不是remote接口,而且还没有动手写过任何代码。本文并不打算深入探讨EJB的内部机制,而仅仅是举例子来说明使用EJB实现分层思想及分布式计算的方法。如果要研究EJB的细节,请参考附录B 参考资料列举的书籍或文章。

  当前阶段的五个Entity Bean只能算是半成品,要完成业务逻辑还需要进一步加工,这些在接下来开发Session Bean的过程中会提到。欲知后事如何,请听下回分解。

  6.3 创建Session Bean(Stateless)

  6.3.1 SessionFacade - 连接Struts与Entity Bean的桥梁

  新建一个名为SessionFacade的Session Bean。SessionFacade负责与Entity Bean沟通,并为Struts提供接口。

  这个Session Bean扮演一个中间人的角色,就像是北京西客站的售票厅,旅客可以买T97的火车票去往广州,也可以买T31的火车票去往上海。在CoursesOnline系统中,Struts跟购买火车票的旅客一样,通过SessionFacade提供的接口完成系统登录、学生注册、学生选课等操作。

  下面以Actor登录为例来说明SessionFacade是怎样扮演中间人的角色,如下图:



  在SessionFacade中新增一个名为actorLogin的方法,返回值boolean,输入参数用户名,口令和用户类型(学生、老师或系统管理员),接口remote。

  方法actorLogin提供给远程的Struts调用。
 
  登录处理流程如下:

  1、用户在页面上输入用户名、口令和用户类型并提交;

  2、JavaBean存储用户在页面提交上来的用户名、口令和用户类型;

  3、Struts读取JavaBean的用户名、口令和用户类型;

  4、Struts通过远程接口调用SessionFacade的actorLogin(String username,String Password,int actortype)方法;

  5、SessionFacade通过本地接口调用Entity Bean(Actor)的findByName(String username,int actortype)方法;

  6、SessionFacade获取Entity Bean(Actor)的findByName(String username,int actortype)方法的返回值;

  7、SessionFacade在actorLogin(String username,String Password,int actortype)方法中比较Entity Bean(Actor)的findByName(String username,int actortype)得到的password的值;

  8、如果两个password的值相等,则actorLogin(String username,String Password,int actortype)返回true,否则返回false;

  9、Struts根据SessionFacade的actorLogin(String username,String Password,int actortype)的返回值(true or false)判断登录是否成功,并导航到对应的页面。


上一页  1 2 3 4 5 6 7  下一页

·"WAP天极之IT新闻资讯,50万元等你拿"    ·天极WAP之游戏狂图,50万元等你下载

天极社区邀请您:写博客日记  上传相片   论坛聊天  订阅电子杂志  推荐网摘   免费图铃工具
笔名:   请您注意:

 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

 天极网拥有管理笔名和留言的一切权利。
评论:
 

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容阅读排行榜
  • Java多线程编程初步
  • Java模式设计之数据访问对象模式
  • Windows98下安装和配置JDK
  • Win2000下JBoss开发环境配置
  • J2EE的Web服务原理和体系结构慨述
  • 详解11月三大硬件杀手游戏及四大凶器
  • 选硬盘 用好希捷互动存储专家
  • NDS十大最受期待游戏
  • 中国星际个人联赛第6轮综述
  • 教你破解GeForce6800变Ultra
  • 魔兽UD必胜的几大原因
  • 韩国OnGameNet职业联赛最新战况
  • 买LCD有秘诀 两绝招识别坏点
  • Advertisement