AIA摸鱼记之初识EJB

        应届生职场小白,记录下自己日常工作的问题和经验总结,以方便自己以后查看。4.23新生入职,不知水深浅,刚进公司的team做的项目使用的是EJB2.0。表示一脸懵逼。问:是否有接触新技术的可能,答案不尽人意。

        进入公司,检出代码,熟悉业务流程,代码逻辑,算是弄了一周多了,可能我们都算新生小白,他们也有固定的时间培训,给我们讲解代码逻辑,了解EJB,当问我们有什么不懂的时候,我们几个肯定都是一蒙逼的,尴尬的氛围下,通道难友发声还是有点晕,不知所云。还好我录下了个视频,整理下代码跳转流程如下:


Ejb分三层

第一层:Ejbobject 相当于一个接口,interface

第二层:ejbHome 是所有ejb的入口,里面有一个create()方法,会返回一个接口,接口返回的就是第一次的object,

第三层:ejbbean,是ejb的实现类,就是业务层里面放的东西,bean就是去实现第一层的Object的,

 

以下是在熟悉本公司代码流程的基础上理解EBJ,记录的很乱,可能只有我自己能看懂了。。。


----在相应的jsp在form 里拿到command再进入serviceConfig.xml 根据command拿到ebj的home,(command在serviceConfig。Xml如果有配置,就说明是旧的逻辑,用的是EJB。没有的话就是新逻辑,调用的是handler)

 

 

----Home-bean关系的配置是在ejb-jar.xml中

----Bean中会调用Dao层

----Dao层中一般写存储过程,要先实现DatabaseDao,(以后要改的话,就是要对存储过程进行修改; 例如这个存储过程:sp_helptextec_update_userprof,首先是传入参数,都是页面上的信息,存储过程跟java类差不多,里面会有逻辑)

-在DatebaseDao.java中实现了sql的相关操作,

-具体数据库连接及其 sql实现在DatabaseConnection.java类中

----Dao中执行完返回给bean

----Bean中执行完返回是response的话就说明当前这个ejb已经结束了,web端会去接收这个response。

----拿到response后在UpdUserCmdProcessor中访问postProcess()方法,将response转成request,返回个success,

根据success在FrontalConfig.xml中找到要跳转的页面。

总结一下:

1.执行Processor中的prepareRequest()方法;

2.调用ejb:

    1)根据jsp的title(就是value)在labels_en_HK.propert文件中找到对应的key

    2)拿到key进入menuoptions.xml  找见相对应的displayname 拿到jsp或commond

    3)在jsp 的form 里拿到command

    4)进入serviceConfig.xml根据command 拿到method,再根据component还是在ServiceConfigxml中拿到ebj的home(进入FrontalConfig.xml找到对应的command,点进去对应的commandProcessor(就是第一步的Processor类))

    5)根据home找到对应接口

    6)根据接口找到对应的 业务逻辑层XXXXBean

    7)根据Bean找到对应调用的Dao(Dao层中一般写存储过程,要先实现DatabaseDao,)

    8)Dao中执行完返回给bean

    9)Bean中执行完返回是response的话就说明当前这个ejb已经结束了,web端会去接收这个response。

3. 拿到response后在UpdUserCmdProcessor中访问postProcess()方法,将response转成request,返回个success,

4. 根据success在FrontalConfig.xml中找到要跳转的页面。

 -------------------

command在serviceConfig.Xml如果有配置,就说明是旧的逻辑,用的是EJB。没有的话就是新逻辑,调用的是handler,如下:

 

1.拿到jsp 的titile   //User Profile

2.去labels_en_HK.propert文件中找到对应的key ,value(就是jsp的title)

3.拿到key进入menuoptions.xml  找见相对应的displayname 拿到jsp或commond(带有业务层,要请求数据库,再返回到页面)

4.查看相应的jsp在form 里拿到command

5.再进入FrontalConfig.xml找到对应的command,点进去对应的commandProcessor就是对应的java类

//EJB是业务层,web是Controller层

6.再进入serviceConfig.xml还是根据command 拿到对应的method(就是调用的对应的方法),

根据component还是在ServiceConfigxml中拿到ebj的home,根据home再去ebjbean


去掉Home加上bean找到对应的Bean

7.当进了Bean,根据相应Method去看逻辑

 

8.找到Dao层,找到相对应的SP

二。新的业务层

1,2,3,4,5同上

 

6.查看Process

 

7.找到Handle,修改逻辑

https://gmd.aia.com.hk/eCOMPASS/AppleWebService?_command_=AppleWebService&module=EClaimModule&actionType=CheckEClaimPrvlg&locale=en_HK&ebToken=eBenefits123456789


1.接口调用的都是Handle

2.根据actiontype找见相应的逻辑


---------------------------------------------------------------------------------------------------

a.EJB实现原理: 就是把原来放到客户端实现的代码放到服务器端,并依靠RMI进行通信。

b.RMI实现原理 :就是通过Java对象可序列化机制实现分布计算。

c.服务器集群: 就是通过RMI的通信,连接不同功能模块的服务器,以实现一个完整的功能。


参考地址:http://blog.csdn.net/jojo52013145/article/details/5783677

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值