应届生职场小白,记录下自己日常工作的问题和经验总结,以方便自己以后查看。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,修改逻辑
1.接口调用的都是Handle
2.根据actiontype找见相应的逻辑
---------------------------------------------------------------------------------------------------
a.EJB实现原理: 就是把原来放到客户端实现的代码放到服务器端,并依靠RMI进行通信。
b.RMI实现原理 :就是通过Java对象可序列化机制实现分布计算。
c.服务器集群: 就是通过RMI的通信,连接不同功能模块的服务器,以实现一个完整的功能。
参考地址:http://blog.csdn.net/jojo52013145/article/details/5783677