Java开发网 Java开发网
注册 | 登录 | 帮助 | 搜索 | 排行榜 | 发帖统计  

您没有登录

» Java开发网 » Architecture & Framework  

按打印兼容模式打印这个话题 打印话题    把这个话题寄给朋友 寄给朋友    该主题的所有更新都将Email到你的邮箱 订阅主题
flat modethreaded modego to previous topicgo to next topicgo to back
作者 [转贴]解剖Petstore用户资料修改流程
hobohero





发贴: 30
积分: 10
于 2003-01-08 09:40 user profilesend a private message to usersearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
解剖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

flat modethreaded modego to previous topicgo to next topicgo to back
  已读帖子
  新的帖子
  被删除的帖子
Jump to the top of page

   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