分享
 
 
 

SCM项目结构和流程

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

忙了几天,终于把这次的项目结构和流程弄清楚了,整理了一下。

1. 目录结构:

a. C:\scm\CSZ\config放置的是本次系统的配置文件。

1. application-config.xml系统流程控制文件(*)

2. app-message-JP.xml消息文件

3. document-merge-dictionary.xml标签与入出力助手映射文件

4. fault-action-config.xml出错流程控制文件

5. lookup-service-config.xml 生成EJB JNDI树的配置文件

6. startup.xml服务器启动时,由控制器Servlet读入的用来关联其它配置文件。

7. message-file-mapping.xml英日文消息输入映射文件。

8. sys-message-EN.xml英文消息文件。

9. sys-message-JP.xml日文消息文件。

10. system-config.xml系统共通配置的定义。如:系统的情报,EJB type的映射,Log的出力设置等。

b. C:\scm\properties\CSZ放置的是property文件。注:这次项目要求SQL语句与程序分离,所以我们的SQL语句都写在property文件里,由程序读入。

c. C:\IBM\WebSphere Studio\项目名\META-INF放置的是WEB和EJB的配置文件。(在WSAD中建立项目时自动生成的)

d. C:\IBM\WebSphere Studio\CSZEPSample放置的是EJB相关的东东。

e. C:\IBM\WebSphere Studio\CSZEPSample\ejbModule\jp\co\tepco\CSZ\ap\web\cmp放置的是处理帐票和一些检查的类逻辑处理的类。

f. C:\IBM\WebSphere Studio\CSZEPSample\ejbModule\jp\co\tepco\CSZ\ap\web\com放置共通和VO的地方。(View Object Value Object 这次项目中没有VO和PO的概念)

g. C:\IBM\WebSphere Studio\CSZEPSample\ejbModule\jp\co\tepco\CSZ\ap\web\ctl放置EJB Session Bean用来进行流程控制。

h. C:\IBM\WebSphere Studio\CSZEPSample\ejbModule\jp\co\tepco\CSZ\ap\web\dao放置业务处理BEAN数据查询删除等操作的类。

i. C:\IBM\WebSphere Studio\CSZEPSample\ejbModule\META-INF放置EJB部署文件和EJB JNDI在绑定文件。

j. C:\IBM\WebSphere Studio\CSZWPSample放置的是WEB相关的东东。

k. C:\IBM\WebSphere Studio\CSZWPSample\Web Content\CSZ\JSP放置JSP文件。

l. C:\IBM\WebSphere Studio\CSZWPSample\Web Content\CSZ\JS放置JS文件。

m. C:\IBM\WebSphere Studio\CSZWPSample\Web Content\WEB-INF放置服务器配置文件。

n. C:\IBM\WebSphere Studio\CSZWPSample\Web Content\WEB-INF\lib\tlds放置标签文件。

2. 该项目包装后的EJB结构

大家可以看一下业务FrameWork的帮助文档,在CSASRFwkEJBAppControllerBase中公开了所有的业务方法。看一下就好不必研究:)

Home接口:jp.co.tepco.ifit.fw.business.controller.EJBAppControllerHome这个接口是由容器实现的,我们不用管它J

远程接口:jp.co.tepco.ifit.fw.business.controller.EJBAppController这个接口也是由容器自己实现的,我们还是不用管它J

SessionBean:根据上图,我们每一个EnterpriseBean都必须继承自CSASRFwkEJBAppControllerBase这个Bean是由我们来实现的。

在Sample中,我没有看到本地Home接口和远程对象接口。好象在将近400页的环境说明文档中有看到说这个项目都使用远程的,但找不到了L

除了EnterpriseBean外,我们还要写Dao层Bean(也说是业务层Bean)还有vo(View Object就是一些get和set的东东),它们之间的关系是,Dao层包装vo返回给EnterpriseBean在由EnterpriseBean分发回客户端。(JSP)

3. JSP页面提交流程

a.每个JSP页面FROM的ACTION都要这样写:

ACTION = ""

意思是动态得到URL, URL的格式是: *.act,如CSZSRCtlMenu.act。这个URL是由中央控制器FrontController通过传入的ID在Application-config.xml中查找并返回的(pathname)。当提交FROM时,FrontController就可以通过URL在Application-config.xml中查找到相应的节点,并进行下一步动作。

2.FrontController根据你的URL在Application-config.xml文件中找到相对应的pathname,

根据pathname找到业务服务节点 business-service,这里相当于一个中转,所有的处理有在这里,input-action-id对应了input-action(图中没有标出),input-action的作用是将页面上的数据包装成InputHelper传入服务器端(不必去研究)。最重要的是app-controller-proxy-id对应了app-controller-proxy,然后通过name找到上面提到过的JNDI树中对应的NAME,就可以找到JNDI名了。然后在lookup EJB。(有个EJB绑定文件,大家可以看看)

3. 这里必须注意的是每个JSP页面上都要写一个Hidden,名字是PO,如下:

它的作用是告诉你的enterpriseBean中应该执行哪个业务方法方法。

另外,在提交按钮处必须给出onclick事件,并且要像下面这样写:

ONCLICK = "submitForm('previousPage')

SubmitForm是导入的JS文件中的方法.( IBM\WebSphere Studio\CSZWPSample\Web Content\CSZ\JS\ CSZ_Common.js)它有一个参数.这个方法的作用是将你的参数赋值给JSP页面上定义的那个OP,然后提交页面.

4. 返回JSP流程.

理解了JSP提交流程后,这里就比较简单了.如下.

1. 首先从CSASRFwkCommonObject中get一个CSASRFwkResponse.然后声明一个CSASRFwkOutputHelper(用来存放要传到JSP页面数据的对象)然后将CSASRFwkOutputHelper置入CSASRFwkResponse中.

2. 比较重要的一步:

利用CSASRFwkResponse.setResultCode(参数),这里的参数对应application-config.xml中定义result-code-map的result-code:

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有