Java开发网 |
注册 |
登录 |
帮助 |
搜索 |
排行榜 |
发帖统计
|
您没有登录 |
» Java开发网 » Architecture & Framework
打印话题 寄给朋友 订阅主题 |
作者 | [转贴]解剖Petstore用户资料修改流程 |
hobohero
发贴: 30 积分: 10 |
于 2003-01-08 09:40
解剖Petstore用户资料修改流程 转自 J道论坛 update_customer.screen 查找screendefinitions_en_US.xml 由于petsotre的界面使用了一个模板taglib,这个模板将屏幕分成: title 标题 banner 广告 sidebar 菜单边 body 正文 mylist 特殊显示 footer 页脚 这个思路可以借鉴到我们系统中。 从其中找到update_customer.screen的真正程序名是: 也就是是edit_customer.jsp 打开edit_customer.jsp 发现其form action又是自己定义的, action="customer.do" 也就是说update_customer.screen页面是提交到customer.do程序的。 再查询customer.do是什么? 在mappings.xml中查询到: com.sun.j2ee.blueprints.petstore.controller.web.actions.CustomerHTMLAction customer.do实际是com.sun.j2ee.blueprints.petstore.controller.web.actions.CustomerHTMLAction这个servlet 那么打开com.sun.j2ee.blueprints.petstore.controller.web.actions.CustomerHTMLAction: 这个servlet主要是处理update_customer.screen提交form中的参数, ContactInfo info = extractContactInfo(request, "_a"); CreditCard creditCard = extractCreditCard(request); ProfileInfo profileInfo = extractProfileInfo(request); 将这些从前台用户那里输入的新数据打包在一个叫CustomerEvent类中: event = new CustomerEvent(CustomerEvent.UPDATE, info, profileInfo, creditCard); 这个CustomerEvent很重要,是承接前台和后台EJB处理的中间枢纽。 从mappings.xml可以查询到: com.sun.j2ee.blueprints.petstore.controller.events.CustomerEvent com.sun.j2ee.blueprints.petstore.controller.ejb.actions.CustomerEJBAction CustomerEvent实际是激活 CustomerEJBAction. 打开CustomerEJBAction,我们发现了updateCustomer(CustomerEvent ce) 这个方法将前台用户的新数据set到EJB中。 CustomerEJBAction也并不是直接和entity bean打交道,而是通过ShoppingClientFacadeLocalEJB 这是个Facade模式。 下次我们讨论MainServlet 这个MainServlet实际上是petstore MVC的总controller,但是它和具体数据又没有关系,上面的customer.do实际是通过MainServlet激活的。 关于 异常 。。。。 谢谢指教 |
话题树型展开 |
人气 | 标题 | 作者 | 字数 | 发贴时间 |
11044 | [转贴]解剖Petstore用户资料修改流程 | hobohero | 1565 | 2003-01-08 09:40 |
已读帖子 新的帖子 被删除的帖子 |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |