`
kewen342757003
  • 浏览: 143151 次
社区版块
存档分类
最新评论

Struts2 In Action 读书笔记 第一章 Struts2 现代Web框架

阅读更多
1.Struts2概览:MVC模式
MVC(Model-View_Controller)设计模式:即模式、视图、控制器

2.三个核心框架组件
(1)控制器:FilterDispatche
    Struts中使用的MVC变体被称为前端控制器(front controller)MVC。 在Struts2中,控制器总是第一个被触发的组件,它负责为URL找到对应的Action。
     FilterDispache在struts2中扮演这个控制器的角色。 可以通过注解和XML两种方式进行配置,让框架为URL找到对应的Action。 由于Struts2 是朝着零配置发展的,所以注解的方式更好一点。

(2)模型:Action
    模型这个概念,可以理解为 “数据模型”和“业务逻辑”的结合体。
     Struts2中的Action主要做两个工作:
     1 Action将业务逻辑调用封装到一个单独的工作单元中。
     2 Action是一个数据传输的场所。
     Action完成工作之后,就会想提交请求的用户返回视图即result了。

(3)视图:Result
    向前台呈现页面,JSP,Velocity等等。 是MVC模式的呈现组件。

3.Struts2的工作原理
(1)拦截器
     拦截器是Struts2框架的核心部分,每一个动作都有一组拦截器与之相关联。可以在动作之前、之后调用。
     拦截器可以将常见的、横切的任务在简洁、可重用的组件中定义。之后只要调用这个拦截器就可以完成功能, 实现了和动作代码的分离。

(2)ValueStack和OGNL
    1 ValueStack是保管和请求处理相关的所有数据的一个存储区域。Struts2将所有相关的数据集中保存在ValueStack中。
     2 OGNL是一种允许我们对ValueStack中数据引用和操作的表达式语言。
     3 ValueStack和OGNL不属于框架中的任务组件,它独立贯穿于整个数据处理的过程。因为ValueStack存储在一个线程本地对象(ThreadLoacl)中,它的名字叫做ActionContext。   
      ActionContext中包含所有的数据,使用ThreadLocal可以在相同线程中的任何地方访问到这些数据。 因为Struts2中每一个请求的处理都发生在同一个线程中
分享到:
评论

相关推荐

    Struts2_Action学习笔记、通配符{1},{2}

    Struts2_Action学习笔记、通配符{1},{2}......

    struts2 学习笔记 实战

    namespace :对应与项目名称后面的"/"(例如Struts2_0100_Introduction后面的"/") (http://localhost:8080/Struts2_0100_Introduction/) 四、 标签 是用来解决重名的问题,例如当系统的前台和后台都有一个action...

    struts2学习笔记

    struts2学习笔记,拦截器,action,所需jar包,从零开始

    马士兵Struts2笔记2013

    建立一个Struts2 工程,用Action的属性接收参数,使用Domain Model (实体模型) 接收参数,Struts2_2.1.6版本的中文问题,Struts模块包含,Struts简单数据验证 ,Struts ValueStack(值栈) Debug,Value Stack ...

    Struts2 学习笔记

    01 Struts2-Action 5 一、 Struts作用: 5 二、 搭建Struts2的运行环境: 5 三、 Namespace 6 四、 标签 6 五、 Action 6 六、 路径问题的说明 8 七、 Action的动态调用方法 8 八、 Action通配符(wildcard)的配置 9 ...

    struts项目学习笔记

    Struts2 是一个非常优秀的MVC框架,基于Model2 设计模型 由传统Struts1和WebWork两个经典框架发展而来 Struts2框架=Struts2+XWork Strust2 核心功能 允许POJO(Plain Old Java Objects,简单javabean对象,没有继承,...

    我的笔记:Struts构架中action的跳转大全

    我的笔记:Struts构架中action的跳转大全

    SSH笔记-Spring整合Struts2

    SSH笔记-Spring整合Struts2,作用是使用 IOC 容器来管理 Struts2 的 Action

    Struts高级部分(2)(常用Action、验证框架、动态Form)笔记

    Struts高级部分(2)(常用Action、验证框架、动态Form)笔记Struts高级部分(2)(常用Action、验证框架、动态Form)笔记

    J2EE三大框架_笔记_a

    10-Struts高级部分(2)(常用Action、验证框架、动态Form)笔记 J2EE框架_笔记_b: 11-留言管理程序_使用Struts + DAO完成笔记 12-Struts + DAO分页笔记 16-留言管理程序_使用Struts + DAO + Hibernate完成笔记 ...

    J2EE框架_笔记_c

    10-Struts高级部分(2)(常用Action、验证框架、动态Form)笔记 J2EE框架_笔记_b: 11-留言管理程序_使用Struts + DAO完成笔记 12-Struts + DAO分页笔记 16-留言管理程序_使用Struts + DAO + Hibernate完成笔记 ...

    J2EE框架_笔记_b

    10-Struts高级部分(2)(常用Action、验证框架、动态Form)笔记 J2EE框架_笔记_b: 11-留言管理程序_使用Struts + DAO完成笔记 12-Struts + DAO分页笔记 16-留言管理程序_使用Struts + DAO + Hibernate完成笔记 ...

    Struts1.3 备忘笔记

    07 Struts_07ForwardAction : 访问WebRoot/WEB-INF/下文件的一种方式 08 Struts_08DynaValidatorForm : Struts框架的Validator验证框架 09 Struts_09Token : Structs的令牌机制,避免重复提交问题 10 Struts_10...

    Struts读书笔记.rar

    Struts 读书笔记,一小段内容摘抄: ...... Struts的ActionForm 对象是框架用来在用户和业务层之间来回传递数据的。框架会自动收集请求的输入,然后使用from bean 将数据传递给Action,最后再传递给业务层。 对于...

    struts2笔记之动态调用Action指定方法及默认Action

    详细讲解struts2中单个action中多个处理逻辑的配置方法, 以及默认Action的配置.

    Struts课堂笔记.rar--struts2的struts.properties配置文件详解

    The org.apache.struts2.config.Configuration implementation class org.apache.struts2.config.Configuration接口名 struts.configuration.files A list of configuration files automatically loaded by ...

    struts2学习笔记!

    struts2学习笔记!因为还没有全部学完,所以分部分分享!主要内容:struts.xml配置,web.xml配置 Action要点!全局类型转换,部分类型转换,类型转换文件 类型装换错误的处理问题局部使用,把中文汉字转换为编码 struts2对...

    javaEE框架笔记,识货人下

    10-Struts高级部分(2)(常用Action、验证框架、动态Form)笔记.pdf 11-留言管理程序_使用Struts + DAO完成笔记.pdf 12-Struts + DAO分页笔记.pdf 13-Hibernate入门(上)笔记.pdf 14-Hibernate入门(下)笔记.pdf ...

    struts2学习笔记 很基础 容易懂

    struts2学习笔记 很基础 容易懂第一个struts2的web用户登录工程:创建一个web工程->创建login.jsp(创建advanced的JSP)->登录的form表单(注意:action=“login.action”)->编写完成后配置

    struts学习笔记

    建立一个Java Web项目,提取最少运行Struts2应用的包集合,目标:实现一个简单的用户登录 包括内容: 一、先实现登录页面 二、实现处理页面的Action 三、配置Web.xml 四、配置Action处理结果和资源资源之间的映射关系 ...

Global site tag (gtag.js) - Google Analytics