Result原理

1.什么是Result组件

  Result是用于做输出的组件,用于向页面输出一些内容,转发,重定向可以理解为特殊方式的输出

  每一个Request实际上就是一个类,这些类都实现了共同的接口Result

  Struts2预置了10种类型的Result,他们被定义在struts-default.xml中

2.dispatcher

  用于转发的Result,可以将请求转发给JSP

  此种类型Result对应的类为ServletDispatcherResult

  此类型Result是Struts2默认的Result类型,该默认行为是定义该Result时,通过default="true"指定的

  在此之前我们使用的Result都是这种默认的Result

3.stream

  用于向页面输出二进制数据,此种类型的Result,可以将二进制数据输出到请求发起端

  此种类型Result对应的类为StreamResult

4.redirectAction

  用于将请求重定向给另外一个Action

  此种类型Result对应的类为ServletActionRedirectResult

5.json

  用于向页面输出json格式的数据,此种类型的Result,可以将json字符串输出到请求发起端

  此种类型Result对应的类为JSONResult

  此类Result不是Struts2默认的Result,但是确是十分常用的类型

时间: 2024-10-15 09:03:11

Result原理的相关文章

MVC5-3 Result分析

众多的Result 使用MVC进行开发,可以看到有ActionResult.ContentReuslt.JsonResult..等,今天对这些Result进行背后分析.它到底是如何做到的 ActionResult 在开发中大家都会遇到一个有趣的现象,使用ActionResult做返回类型,我们可以返回Json,View,Content及其它的Result, 为什么会做到这样呢? 分析一下,我们使用什么可以做到.可能有些人已经猜到了,抽象类和接口.接口的定义规则是I开头.那么这里并没有.毫无疑问就

99%的程序员都在用Lombok,原理竟然这么简单?我也手撸了一个!|建议收藏!!!

罗曼罗兰说过:世界上只有一种英雄主义,就是看清生活的真相之后依然热爱生活. 对于 Lombok 我相信大部分人都不陌生,但对于它的实现原理以及缺点却鲜为人知,而本文将会从 Lombok 的原理出发,手撸一个简易版的 Lombok,让你理解这个热门技术背后的执行原理,以及它的优缺点分析. 简介 在讲原理之前,我们先来复习一下 Lombok (老司机可以直接跳过本段看原理部分的内容). Lombok 是一个非常热门的开源项目 (https://github.com/rzwitserloot/lomb

MVC控制器详解

原文地址:http://www.cnblogs.com/SeeYouBug/p/6441934.html#3628606 目录 一.理解控制器 1.1.什么是控制器 1.2.控制器的作用 1.3.创建实现IController接口的控制器 1.4.创建继承于Controller类的控制器 二.控制器对数据的接收 2.1.数据来源 2.2.通过上下文对象获取数据 2.3.使用动作(Action)方法参数 2.3.1.使用Action方法参数 2.3.2.理解参数对象实例化 2.3.3.理解可选参数

百度前端技术学院之相册拼图布局

html代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link type="text/css" rel="stylesheet" href="相框拼图布局外部样式.css"> </head

strust2 配置chainAction结果类型的配置

<result name="chainAction" type="chain"> <param name="actionName">departmentAction</param> <param name="method">queryPageResult</param> </result>原理:也是通过对应的一个Interceptor完成,再次进行一次访问

Struts2 学习

一.Struts2简介 1.概念:轻量级的MVC框架,主要解决了请求分发的问题,重心在控制层和表现层.低侵入性,与业务代码的耦合度很低.Struts2实现了MVC,并提供了一系列API,采用模式化方式简化业务开发过程. 2.与Servlet对比 优点:业务代码解耦,提高开发效率 缺点:执行效率偏低,需要使用反射.解析XML等技术手段,结构复杂 3.不同框架实现MVC的方式 Servlet: Spring: Struts2: 二.Struts2使用 1.使用步骤 导入Struts2核心jar包 在

网络编程 -- RPC实现原理 -- RPC -- 迭代版本V1 -- 本地方法调用

网络编程 -- RPC实现原理 -- 目录 啦啦啦 V2--RPC -- 本地方法调用:不通过网络 入门 1. RPCObjectProxy rpcObjectProxy = new RPCObjectProxy(new LocalRPCClient()); : 绑定目标对象 2. IUserService userService = (IUserService) rpcObjectProxy.create(IUserService.class); :返回代理类 3. List<User> u

分布式开放消息系统(RocketMQ)的原理与实践

分布式消息系统作为实现分布式系统可扩展.可伸缩性的关键组件,需要具有高吞吐量.高可用等特点.而谈到消息系统的设计,就回避不了两个问题: 消息的顺序问题 消息的重复问题 RocketMQ作为阿里开源的一款高性能.高吞吐量的消息中间件,它是怎样来解决这两个问题的?RocketMQ 有哪些关键特性?其实现原理是怎样的? 关键特性以及其实现原理 一.顺序消息 消息有序指的是可以按照消息的发送顺序来消费.例如:一笔订单产生了 3 条消息,分别是订单创建.订单付款.订单完成.消费时,要按照顺序依次消费才有意

Hybrid APP基础篇(四)-&gt;JSBridge的原理

说明 JSBridge实现原理 目录 前言 参考来源 前置技术要求 楔子 原理概述 简介 url scheme介绍 实现流程 实现思路 第一步:设计出一个Native与JS交互的全局桥对象 第二步:JS如何调用Native 第三步:Native如何得知api被调用 第四步:分析url-参数和回调的格式 第五步:Native如何调用JS 第六步:H5中api方法的注册以及格式 进一步完善JSBridge方案 思路 实现 注意 完整的JSBridge 完整调用流程图 另外实现:不采用url sche