Struts2之ValueStack笔记

1、web基础知识——redirect和dispatch的区别

  “redirect”方式中,服务器做的工作是处理浏览器请求然后告诉浏览器你访问的资源在另一位置(url),然后浏览器再次发起请求访问指定的资源;

  “dispatch”方式中,服务器会把浏览器的请求看做一种资源(request),这份资源会在服务器中流通,不同处理程序都能对其加工处理;

  respone在这两种不同方式中也有这种区别;

  在struts2中,我认为理解redirect和dispatch的区别很重要。

2、没有读struts2的源码,以下是猜测:

  A、Value Stack Contents(根栈)封装的是Action的属性值;

  B、Value Contexts(大Map)封装的是session、request、application之类的东西;

  C、ValueStack就是对浏览器请求的封装,因此在result类型为“redirect”时,ValueStack中A部分为空。

D、session、application作用域比request的大,所以在result类型为redirect和dispatch时没区别。

时间: 2024-08-07 20:58:09

Struts2之ValueStack笔记的相关文章

Struts2权威指南笔记

1.mvc特点包括: ① 多个视图可以对应一个模型 ② 模型返回的数据与显示逻辑分离 ③ 应用层被分隔为三层,降低了各层之间的耦合,提供了应用的可扩展性 ④ 控制层的概念也很有效,由于它把不通的模型和不同的视图组合在一起,完成不同的请求 ⑤ Mvc更符合软件工程化管理的精神 2.Struts2框架的大致处理流程: ① 浏览器发送请求,如请求/mypage.action ② 核心控制器FilterDispatcher根据请求决定调用合适的Action ③ Webwork的拦截器链自动对请求应用通用

Struts2中ValueStack结构和总结

[ValueStack和ActionContext的关系] 首先,从结构上来看ValueStack是ActionContext的一个组成部分,是对ActionContext功能的扩展.ActionContext是一个容器结构,是Struts2中用于数据存储的的场所,而ValueStack则是一个具备表达式引擎能力的数据结构,提供了一个可以进行表达式引擎的计算场所.Struts2将ValueStack置于ActionContext目的是为静态的数据添加动态的计算能力.以下也是ValueStack和

j2ee开发之struts2框架学习笔记

Struts2框架技术重点笔记 1.Struts2 是在webwork基础上发展而来. 2.Struts2 不依赖struts API和 servlet API 3.Struts2提供了拦截器,表现层技术:jsp +freeMarket+ velocity 4.Struts2可以对指定的方法进行校验,提供了全局范围,包范围和action范围的国际化资源文件的管理实现. 环境搭建:找到对应的jar包 编写struts的配置文件 <?xml version="1.0" encodin

struts2马士兵笔记

Struts2 学习笔记 目录 01 Struts2-Action 一.         Struts作用: 二.         搭建Struts2的运行环境: 三.         Namespace 四.         <package>标签 五.         Action 六.         路径问题的说明 七.         Action的动态调用方法 八.         Action通配符(wildcard)的配置 九.         Action的属性接收参数 1.

Struts2 In Action笔记_页面到动作的数据流入和流出

因为回答百度知道的一个问题,仔细查看了<Struts2 In Action>,深入细致的看了 “数据转移OGNL 和 构建视图-标签”,很多东西才恍然大悟. 一直觉得国外写的书很浮,不具有操作性,但其实,Coding多了,才发现国外的书写的深刻.清晰.能传道解惑. 一.主要收获 1. Struts2 框架的数据流入和流出 使用 Struts2 标签时,所有非字符串属性都被当作 OGNL表达式进行解析. 使用  %{expression} 语法可以强制将字符串属性当作 OGNL表达式解析. 2.

struts2标签学习笔记(一)

struts2所有标签都定义在一个s标签库里.虽然struts2把所有的标签都定义在URI为"/struts-tags"空间下,但依然可以对struts2标签进行简单的分类. 1.UI标签:主要用于生成HTML元素的标签. 2.非UI标签:主要用于数据访问.逻辑控制等标签. 3.Ajax标签:用于Ajax支持的标签. 对于UI标签,则又可以分为如下两类 1.表单标签:主要用于生成HTML页面的form元素,以及普通表单元素的标签. 2.非表单标签:主要用于生成页面上的树.Tab页等标签

struts2的valuestack

每当请求一个action之后就会创建一个valuestack并将相关的对象push到这个statck中.而valuestack是个什么结构呢?就是包含一个map和stack的结构,如图示 OGNL 在这之前,需要了解一下OGNL,OGNL在之前的印象中用的最多的是在通常的jsp页面用于显示数据的类似于EL表达式或者JSTL这样一个的标签语言.其实OGNL实际上是一个用来存储和调用对象以及对象属性的强大的表达式语言.全称为对象图导航语言,它的存在是为了在不能使用java语言的地方使用OGNL或简化

Struts2小部分笔记1

什么是MVC M-Model 模型 模型的职责是负责业务逻辑.包括两部分:业务数据和业务处理逻辑 比如实体类.DAO.Service都属于模型层. V-View视图 视图的职责是负责显示界面和用户交互 属于视图的类不包含业务逻辑和控制逻辑的JSP(如果在JSP页面中有<%%>就不能算是视图,或者JSP中有转发和重定向的控制也是不可以的). C-Controller控制器 控制器是模型层M和视图层V之间的桥梁,用于控制流程. org.apache.struts2.dispatcher.ng.fi

struts2视频学习笔记 09-

课时9 Struts2的处理流程 StrutsPrepareAndExecuteFilter是Struts 2框架的核心控制器,它负责拦截由<url-pattern>/*</url-pattern>指定的所有用户请求,当用户请求到达时,该Filter会过滤用户的请求.默认情况下,如果用户请求的路径不带后缀或者后缀以.action结尾,这时请求将被转入Struts 2框架处理,否则Struts 2框架将略过该请求的处理.当请求转入Struts 2框架处理时会先经过一系列的拦截器,然后