您的位置:首页 >> 编程开发 >> Java >> JavaBeans >> 正文
RSS
 

Petstore源码追踪记(3)-商业逻辑处理(五)

http://www.rdxx.com 01年11月18日 11:08 互联网 我要投稿

关键词: 商业 , 逻辑 , Stor

目录下,因Entity Bean无特别之处,故不再说明。


24 Entity Beans间的关系(Relation)

所以<c:out value="${customer.account.contactInfo.givenName}"/>即是从

Session
取出CustomerLocal,再透过CMR字段(即前面所提关系)取得最底层givenName字段显示出来。

将程序重新编译及部署,可得如下预期结果:


25 SignOnNotifier取得CustomerLocal

结语


笔者将整个使用者基本数据浏览流程做一总整理,绘制成合作图,帮助读者更容易了解:

25 使用者基本资料浏览合作图

1.
使用者进入首页。
2.
点选右上角Account连结(customer.do),欲进入使用者基本资料浏览画面,
Request
中途被SignOnNotifier拦截。
3.SignOnFilter
读取signon-config.xml设定。
4. SignOnFilter
依据signon-config.xml设定,发现customer.do是受保护的资源,
且使用者尚未进行登入动作,所以转导至signon.screen画面。
5.
使用者输入帐号及密码,按”Sumit”后,Request再度被SignOnFilter拦截,透过SignOnEJB Session Bean进行验证。
6.SignOnEJB Session Bean
透过UserEJB比对密码是否正确。
7.
密码验证无误后,会在Session写入使用者已登入标记,此时会触发SignOnNotifier8.SignOnNotifier透过PetstoreComponentManager
PetstoreComponentManager
PetstoreWeb tier的接口。SignOnNotifier经过
后面913步骤取得CustomerEJB对应CustomerLocal,并存入Session
9.PetstoreComponentManager
透过ShoppingControllerEJBShoppingControllerEJBPetstoreEJB tier的接口。
10.ShoppingControllerEJB
透过ShoppingClientFacadeEJBShoppingClientFacadeEJBPetstoreEJB tier关于前端购物所有功能统一提供接口。
11.ShoppingClientFacadeEJB
取得CustomerEJB Entity BeanCustomerEJB代表
CustomerEJBTable
资料表。
12.CustomerEJB Entity Bean
AccountEJB Entity Bean有一对一关系,AccountEJB代表AccountEJBTable资料表。
13. AccountEJB Entity Bean
ContactInfoEJB Entity Bean有一对一关系,
ContactInfoEJB
代表ContactInfoEJBTable资料表。
14.SignOnFilter
在第7步骤验证无误后,则将Request(customer.do)放行。
15.Request(customer.do)
MainServlet接收,MainServlet负责处理*.doRequest
16.MainServlet
读取mappings.xml相关设定,找出customer.do所对应的web action class(web tier欲执行工作,以本例来说,只有浏览,所以没有对应的工作)screen(结果呈现画面)
17.MainServlet
screen交给ScreenFlowManager,它负责转导工作。
18. screen
对应值为customer.screen,所以转导至customer.screen

    
写到这里笔者已经快昏了!第一次写这么长的文章,不过还是要强打精神
做个Endding,由这三期探讨Petstore架构,一个完整的J2EE framework已然成形,在J2EE所提到的大部份技术几乎都用上了,也见到了各种技术该如何整合
运用,这就是所谓的Design Pattern,也许读者会想这样的架构能不能直接套用
在我们实际要开发的项目上?当然是可以,不过在Web tier的架构已有更完整
、更套装化的framework出现,就是struts,网址在http://jakarta.apache.org/struts/index.html
,它是Apache Jakarta下的一个子项目(Jakarta最有名的子项目就是Tomcat),一个免费且会持续升级的framework,目前是当红炸子鸡,它整个架构与Petstore类似,只是它提的solution只在Web tier,笔者建议可运用struts来开发我们的项目,当我们已了解Petstore的架构,学习struts必能事半功倍,且能补上strutsEJB tier缺乏的framework。若读者有任何问题或意见欢迎与笔者讨论,E-Mail:senshaw@ms4.hinet.net

1Petstore_home代表您的Petstore安装目录。
2deploytool的开启方式及将

 
 
标签: 商业 , 逻辑 , Stor 打印本文
 
 
  热点搜索
 
 
 



Valid XHTML 1.0 Transitional
Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站