<!-- /* Font Definitions */ @font-face {font-family:Courier; panose-1:2 7 4 9 2 2 5 2 4 4; mso-font-alt:"Courier New"; mso-font-charset:0; mso-generic-font-family:modern; mso-font-format:other; mso-font-pitch:fixed; mso-font-signature:3 0 0 0 1 0;} @font-face {font-family:SimSun; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:宋体; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} @font-face {font-family:NewBaskerville-Roman; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-charset:0; mso-generic-font-family:roman; mso-font-format:other; mso-font-pitch:auto; mso-font-signature:3 0 0 0 1 0;} @font-face {font-family:"/@SimSun"; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:SimSun;} h3 {mso-style-next:Normal; margin-top:12.0pt; margin-right:0in; margin-bottom:3.0pt; margin-left:0in; mso-pagination:widow-orphan; page-break-after:avoid; mso-outline-level:3; font-size:13.0pt; font-family:Arial;} @page Section1 {size:8.5in 11.0in; margin:1.0in 1.25in 1.0in 1.25in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;} div.Section1 {page:Section1;} -->
1. 2009-4-16 starting
Preface to content, covers to page 30th.
2. 2009-4-17 finished chapter 1
http只是一个无状态的传输;
Servlet完成数据的请求等基础工作;
struts2完成一些通用的web application 功能,比如说,绑定页面数据到java中、数据验证、国际化和本地化等,如下:
<!--[if !vml]--><!--[endif]-->
Struts 2 MVC:
<!--[if !vml]--><!--[endif]-->
2.1 Controller—FilterDsipatcher
作用:一个servlet filter负责把每一个请求request交给action处理,自己需要做的就是告诉它哪个请求对应哪个action,可以通过xml或者annotations来做。
struts2 希望能够实现web applications的零配置zero-configuration,而使用Java annotations可以减少xml的配置。
2.2 model—action
模型model是由一系列action实现,模型本身是,通俗地说,model就是一个黑盒子,里面包含了应用程序的部件,然后就是用户接口和配线。更专业一点的说法是,model是一个application的内部状态internal state,这个状态包含了数据模型和商业逻辑。
作用:an action是一个调用一系列方法的包装encapsulation;另外action还起到保存传输数据的作用。
2.3 view—result
视图view是MVC模式的一个表现层组件。主要作用是,把应用程序的状态(模型)翻译成可以与用户交互的可视化表现visual presentation。
2.4 How struts2 works
<!--[if !vml]--><!--[endif]-->
request processing workflow.
Interceptors
一个在请求执行之前和之后都会执行的。
Interceptors are Struts 2 components that execute both before and after the rest of the request processing. They provide an architectural component in which to define various workflow and cross-cutting tasks so that they can be easily reused as well as separated from other architectural concerns.
ValueStack
可以想象成一张便签,在框架framework处理请求时的数据就写在上面,可以通过OGNL在html表单域中绑定数据和在呈现结果页面获取到数据。
the ValueStack is a storage area that holds all of the data associated with the processing of a request. You could think of it as a piece of scratch paper where the framework does its work while solving the problems of request processing. Rather than passing the data around, Struts 2 keeps it in a convenient, central location—the ValueStack.
Finished chapter 1st, covered to page 20 of context, also 49 of total pages, and have an overview of struts2, something like web applications, servlet, components of struts 2.