首页 > 代码库 > struct2 笔记
struct2 笔记
HTTP 特点: 无状态和基于文本
基于文本 于 强类型的技术匹配 引来大量的数据绑定工作—— 文本 跟 数据类型的矛盾 —— 核心:数据处理
servlet
将HTTP公开给java语言
提供了会话机制。
深入的需求研究 ——servlet不能解决的问题——由此引入的struct2的 功能
1. 数据验证(高级验证)
2. 访问 业务逻辑 及 数据层
struct2 遵循 MVC设计模式 —— 分离 重用
控制器 : 框架帮助完成所有控制器的任务,因此在本书,控制器的内容直接就被跳过了。
本书讲的是动作被控制器调用之后的内容。
模型: 即处理 对应struct的 动作action
有两个作用:
封装 业务逻辑
数据传输
---------------------------------------------
第二章
(声明性)架构 组件
是一种特殊的配置方式,它以描述
而不是编码的方式
创建应用程序的架构。
声明性架构 入口点 structs.xml (主要是包含其他的 xml,模块化)
它在classes目录下: /WEB-INF/classes/structs.xml
structs.xml:
1. 设置 框架属性:
<structs>
<constant name="structs.devMode" value="http://www.mamicode.com/true" />
...
<include file="包名/xxx.xml" />
</structs>
2. 在默认包内(即应用的根目录)定义全局动作
<package name="default" namespace="/" extends="structs-default">
<action name="xxx">
<result>/xxx.jsp</result>
</action>
</package>
3. include 模块的xml
模块的xml:
除了action 和action里的result元素之外,仅有的 其他元素是 structs根元素和package元素。
structs元素 是所有Struct2 xml文件的 强制性的 文档根元素。
package是 容器元素,它声明了一个url 映射到动作时,用到的命名空间:
应用名 + package元素里的namespace + 动作名.action
注释: 即使 一个简单的不需要 动作处理 的jsp页面, 也要用空的动作组件来转到该jsp页面,
这样可以保持架构一致, 且可以隐藏资源的真正结构,而只显示动作的逻辑命名空间。