碎片化 | 第四阶段-40-Struts组件分类讲解-视频
时间:2022-05-06
本文章向大家介绍碎片化 | 第四阶段-40-Struts组件分类讲解-视频,主要内容包括StrutsPrepareAndExecuteFilter、Action、Result、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。
如清晰度低,可转PC网页观看高清版本:
http://v.qq.com/x/page/o0567s4azx0.html
版权声明:本视频、课件属本公众号作者所有,如有侵权,将追究法律责任。
视频课件:
StrutsPrepareAndExecuteFilter
作用:Struts2的核心控制器filter,浏览器发来请求,其就去过滤,并且转发struts.xml去处理
配置:web.xml去配置
<filter></filter><filterMapping></filterMapping>
流程细节:
- 接收浏览器请求,并且进行校验过滤
- (默认后缀名是aciton和空,struts.xml-
- <constant name="struts.action.extension" value="do,action"></constant>)
- 将请求对象,进行初始化valueStack(值栈)
- 请求拦截,通过拦截器处理Interceptor
- 转发请求action到struts.xml中,去根据(namepace+name)寻找对应的action
- XXXAction接收请求的处理方法和接收参数值
- action处理方法(默认execute、method=“xxxx”)返回值,result组件中的name对应结果返回值<result name = “success”>
- 根据result返回结果值,进行页面跳转或者传输数据
- dispatcher
- redirect
- chaina
- redirectAction
- jsp页面接收数据传输
Action
1:属性 接收参数值,传出数据到表现层
private String XXx;//接收的参数值,名称必须和请求接口参数名称一致
getter;//${XXx}
setter;
private String _name;//1:保留C++的编码风格
public String queryUsers(String name){....}//2:区分是否为全局变量
getName;//${name}
setName;
2:方法
默认方法:execute,ActionSupoot---execute
<action name = "" class="" method="XXXX">
public String XXXX(){....}
3:API
session
1.ActionContext.getContext().getSession();
2.HttpSession session = ServletActionContext.getRequest().getSession();
3.实现SessionAware 接口
Result
接收Action返回的对象值,进行处理
1:jsp页面跳转
- dispatcher 转发跳转界面
- redirect 重定向跳转页面
2:action
- chain 转发执行action
- redirectAction 重定向执行的action
3:字节流
- stream 以字节流的形式进行数据传输
4:json数据
- www.json.cn
- 以json格式就行数据的传输
- SQL Server 重新组织生成索引
- 3386/1752: [Usaco2004 Nov]Til the Cows Come Home 带奶牛回家
- 洛谷P2197 nim游戏(Nim游戏)
- SQL Server 索引和表体系结构(聚集索引+非聚集索引)
- 3384/1750: [Usaco2004 Nov]Apple Catching 接苹果
- 1702: [Usaco2007 Mar]Gold Balanced Lineup 平衡的队列
- 1455: 罗马游戏
- SQL Server 高性能写入的一些总结
- 3389: [Usaco2004 Dec]Cleaning Shifts安排值班
- 1754: [Usaco2005 qua]Bull Math
- 3377: [Usaco2004 Open]The Cow Lineup 奶牛序列
- 3301: [USACO2011 Feb] Cow Line
- SQL Server 索引和表体系结构(包含列索引)
- TiDB 源码阅读系列文章(七)基于规则的优化
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- APP脱壳方法三
- Flink Checkpoint 原理流程以及常见失败原因分析
- Docker原理之 - OverlayFS设计与实现
- 有赞零售跨平台打印库方案
- [Go] Golang练习项目-GO语言实现快速排序-第一个数作为基准更容易理解
- 有赞移动基础设施建设的实践和思考
- 大数据理论篇HDFS的基石——Google File System
- 6. 二十不惑,ObjectMapper使用也不再迷惑
- 接口自动化对比工具实践
- 什么?Java9这些史诗级更新你都不知道?Java9特性一文打尽!
- 利用 Arthas 精准定位 Java 应用 CPU 负载过高问题
- 你想了解的JDK 10版本更新都在这里
- Linux Page Cache调优在 Kafka 中的应用
- 声明式 UIKit 在有赞美业的实践
- 一个@Transaction哪里来这么多坑?