技术开发 频道

从<<魔兽争霸>>中如何学习Java



    2:关键字二:魔兽争霸与Struts

    后来开始接触Struts了,作为初学者,学习的时候我也是买了一本书慢慢研究。说实话,很多东西都是云里雾里,没有办法根本的去理解。在奋斗了N天后,终于还是有感觉了,可后面的事情却悄悄的发生了。

    当时我还清楚的记得,对Bean的理解还不很深刻,甚至用今天的眼光往回看,还存在一定的误区。那时候确实是菜虫一个,概念还没有很好的建立,对于Struts的工作流程一直搞不清楚,索性关掉Tomcat服务器,打开魔兽比赛的录像看,这时我的视角盯在一个人族基地里,看着人族的农民来回穿梭在金矿与基地之间,这样一来一回的流动,让我脑子产生了一些遐想,灵光一闪,这人族的农民不就是Struts里的ActionForm类功能么?起到客户数据与控制层Action类的衔接作用,ActionForm类就是充当了这个封装传输的角色。

    对看这篇文章的Struts初学者们,在这里我还是先罗嗦一下,ActionForm类到底是啥玩意儿(老鸟们就别丢鸡蛋了啊!)。在传说的Struts框架中,伟大的ActionForm类主要是作为表现层(Web页面)与动作类(Action类)之间的数据载体。每一个动作请求所携带的数据都可以通过ActionForm类自动提交到相应的动作类里使用,他们之间的对应关系是通过配置文件Struts-config.xml配置来决定的。

    大家看看下面的图1所示,就会什么都清楚了。


    图1 示意图 

    这里涉及到了以下几个东东:金矿、金子、人族农民、人族农民脑子里的意识、人族基地。我的比喻分析如下:

    1:金矿就好比Web页面,里面装满了客户需要处理的数据。
    2:金子理所当然就是客户数据了。
    3:人族农民就好比起封装数据、数据传输作用的ActionForm了。
    4:人族农民脑子里的意识,它决定这金子要往基地里放,就好比Struts-config.xml文件,控制着ActionForm的跳转以及与相应Action类的对应关系。
    5:人族基地获得农民运来的金子后,然后进行处理转化成战争资源,好比对应的Action类,对获得的数据后进行业务处理。

    农民从金矿里背着金子放基地里,这个非常不引人注意的过程归结到我们技术的说法是,ActionForm封装了客户Web页面表现层上的数据,然后通过配置文件的设置,找到ActionForm与Action的对应关系,把数据传递给对应的Action类,再由Action类做相关的业务处理。

    3:编者语:
    写到这里,心里似如万里晴空,想不到以前的奇思妙想,今天有这个机会让我写下来和大家一起分享。一个程序员的生活是随意的,思维是活跃的,在我们眼里一切都是对象,我们可以用自己这个特有的角度来看世界,原来生活如此美妙。

0
相关文章