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, 至此结束。这里本人尽量用”大白话“,是希望把道理讲的更通俗易懂一些,方便大家理解。这也是自己的学习体会,有什么不妥的地方还敬请留言指正,以免误导大众,谢谢。
- struct 1 流程有感
- 有感1
- 有感1 (转)
- 《自慢》有感1
- 实例1有感
- acm_hdu_1.1 有感
- 工作1月有感
- 刷杭电oj有感(1)。
- 读书有感1----数据类型
- 17.4.1 有感
- 怪诞行为学有感1
- 引爆点有感1
- 有感
- 有感`~`
- 有感
- 有感。。。。
- 有感
- 有感
- Java程序员必须掌握的8大排序算法
- 判断点在直线的哪一侧
- 小团队的技术管理
- gwt SplitLayoutPanel
- 分布式环境下的事务管理
- struct 1 流程有感
- IntellijIDEA使用GIT Push的问题
- Spark:用Scala和Java实现WordCount
- Android中Intent传递Java对象的方法
- Hello Presto
- 一些定义的记录
- 1501141732-蓝桥杯-算法训练 动态数组使用
- Android异步请求处理实现机制
- 自动换行的方法,总有一种适合你的解决方案