首页 > 代码库 > 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页面,

这样可以保持架构一致, 且可以隐藏资源的真正结构,而只显示动作的逻辑命名空间