struct 1 流程有感

来源:互联网 发布:如何使用cnki数据库 编辑:程序博客网 时间:2024/06/10 22:56

1 本人认为,程序代码尤其是框架都是有规律可循的,不可囫囵吞枣,要一步一个脚印的学才能真正掌握其中的道理,而且不会感到吃力

               2  struct 1 跟struct 2 都是框架,所以都遵循MVC模式,因此,同学们在学习和理解这两个的时候不要忘记这一点。这是前、后台+数据库联系的关键。

       3 MVC模式说白了就是 html请求时如何在请求页面->后台->返回页面的跳转情况,在后台这块可能涉及数据库的处理,所以大家记住三位一体。而struct1 与 struct 2 就是以不同的机制来处理和控制这个跳转,把它摘出来放到struct-config.xml的配置文件中,以此作为“游戏地图”,当需要跳转时,就来struct-config.xml这个“游戏地图”中来查找跳转出口。


   首先说明,web网站的一般流程:

         1,web.xml的配置,里面包括了整个项目的启动信息和相关配置。如在struct 1 中的就有<filter /><filter-mapping> <servlet /> <servlet-mapping> <welcome-file-list />等标签配置,其中各标签内有配置属性如<xx-name /> <xx-class/> <init-param /> <url-pattern> 等等,包括struct-config.xml的声明,具体找个例子一看变明了。

        2,由web.xml的各个标签可以看出启动进入主页,这里面也许会存在各种安全跳转配置到用户看到的第一个主页。

        3,好了,接下来到了我们这里要讲的核心了

              (1)前台页面到后台需要走struct-config.xml文件,首先是前台发出请求,以一个名字“askfor”来标识,

              (2)然后在struct-config.xml中同样有一个同样的名字”askfor“来匹配,它作用是一个中转器,左边是"askfor"<---->右边是”response_url“,这就是<global-forwards>标签

              (3)然后来到关键的中转器<action />,可以说<action />是struct-config.xml的核心,可以分为左-中-右来理解,具体往下。

                        ① 因为<action />中属性path=”/xxx“【相当于 ”左“】匹配了前端界面表单<form />的属性action=”/xxx“请求或着本配置文件中(2)转过来的路径请求,

                        ②然后<action />中属性type=”xxxx“【相当于”中“】匹配了后台中的控制器类,而且是个集合类,里面还有各种方法,每一个方法都对应着前端页面<form />表单的属性method=”“;然后将前端请求传给这个控制器类。

                        ③最后每个后台控制器类中的众多方法会返回一个字符串,然后这个字符串就到了前面传给它请求参数的还没有结束的<action />中,然后通过<action />中的属性<forward />里的path="/"路径,返回到要去往的前端页面,以新的响应(不管是否是同一个页面,都经过后台传来的数据刷新了)给用户反馈信息。

             (4)这样对用户来讲,只是发出请求”askfor“,然后得到最终的”response“,中间的处理过程<action />就是对用户透明了而已。

                  但具体是怎么样的,相信读了本文,对struct 1 的工作流程相信会有一个相对清晰的了解了。不清晰的地方还请同学们不要气馁,拿一个例子来试着读一下,动手实践一下,自然明了。

         4, 至此结束。这里本人尽量用”大白话“,是希望把道理讲的更通俗易懂一些,方便大家理解。这也是自己的学习体会,有什么不妥的地方还敬请留言指正,以免误导大众,谢谢。


0 0