- 001的引入-通过Filter解决需求问题
- 002的引入-通过核心Filter解决需求问题
- 003的引入-配置文件的引入
- 004在三层架构中的位置
- 005框架介绍
- 006的特点
- 007运行环境搭建-导入Jar包
- 008运行环境搭建的启动项注册
- 009运行环境搭建-定义Struts2的配置文件
- 010运行环境搭建-XML没有自动提示问题的解决
- 011-今天内容重难点
- 012-对上次课内容的回顾
- 013运行环境搭建-MyEclipse中配置Tomcat
- 014运行环境搭建-运行环境搭建成功测试
- 015运行环境搭建-每个Struts2基本Jar的作用
- 016-第一个Struts2程序-程序实现
- 017-第一个Struts2程序-程序的简单运行流程
- 018-第一个Struts2程序-官方流程图分析
- 019-第一个Struts2程序-Tomcat的应用管理配置
- 020-第一个Struts2程序-省去项目名称的发布方式
- 021-绝对路径与相对路径-什么是绝对路径
- 022-绝对路径与相对路径-什么是相对路径
- 023-绝对路径与相对路径-带斜杠的相对路径的参照路径问题
- 024-绝对路径与相对路径-不带斜杠的相对路径的参照路径问题
- 025-绝对路径与相对路径-带斜杠的相对路径的参照路径问题的解决
- 026-绝对路径与相对路径-不带斜杠的相对路径的参照路径问题的解决
- 027-成员变量与属性
- 028-再解Struts2框架
- 029-配置文件-struts-default.xml
- 030-配置文件-default.properties
- 031-配置文件-struts-plugin.xml
- 032-配置文件-struts.properties
- 033-配置文件-web.xml
- 034-配置文件-配置文件的优先级
- 035-核心配置文件-package
- 036-核心配置文件-action-class属性
- 037-核心配置文件-action-method属性
- 038-核心配置文件-result-name属性
- 039-核心配置文件-result-请求转发与重定向
- 040-核心配置文件-result-type=dispatcher
- 041-核心配置文件-result-type=redirect
- 042-核心配置文件-result-type=redirectAction
- 043-核心配置文件-result-type=chain
- 044-核心配置文件-包范围全局视图
- 045-核心配置文件-应用范围全局视图
- 046-核心配置文件-为应用指定多个配置文件
- 047-今天内容重难点
- 048-上次课内容回顾
- 049-获取ServletAPI-通过ActionContext获取-1
- 050-获取ServletAPI-通过ActionContext获取-2
- 051-获取ServletAPI-通过ServletActionContext获取
- 052-获取ServletAPI-通过实现特定接口获取
- 053-OGNL与值栈-OGNL及其特点
- 054-OGNL与值栈-OGNL文档阅读
- 055-OGNL与值栈-值栈的学习方法
- 056-OGNL与值栈-值栈对象
- 057-OGNL与值栈-值栈的获取很麻烦
- 058-OGNL与值栈-context属性的别名ActionCotnext
- 058-OGNL与值栈-值栈的获取很简单
- 059-OGNL与值栈-值栈的栈操作
- 061-OGNL与值栈-值栈操作-向root中添加无名对象
- 062-OGNL与值栈-值栈操作-向root中添加有名对象
- 063-OGNL与值栈-值栈操作-将root作为ArrayList放入数据
- 064-OGNL与值栈-值栈操作-向root中隐式的放入数据
- 065-OGNL与值栈-值栈操作-向context中显式的放入数据
- 066-OGNL与值栈-值栈操作-向context中隐式的放入数据
- 067-OGNL与值栈-值栈操作-root中数据的加载顺序
- 068-OGNL与值栈-值栈操作-request中数据的加载顺序
- 069-OGNL与值栈-创建和遍历List
- 070-OGNL与值栈-创建和遍历Map
- 071-OGNL与值栈-集合元素的判断
- 072-OGNL与值栈-集合投影
- 073-OGNL与值栈-集合查询
- 074-OGNL与值栈-今天内容重难点
- 075-OGNL与值栈-上次课内容回顾
- 076-动态调用方法-什么是动态调用方法
- 077-动态调用方法-动态方法调用
- 078-动态调用方法-通配符定义Action
- 079-接收请求参数-属性驱动
- 080-接收请求参数-域驱动
- 081-接收请求参数-模型驱动
- 082-接收请求参数-集合数据接收
- 083-接收请求参数-Action实例是多例的
- 084-类型转换器-默认的类型转换器
- 085-类型转换器-自定义类型转换器
- 086-类型转换器-为什么类型转换器要定义为双向的
- 087-类型转换器-为什么由页面到服务端的转换value是String数组
- 088-类型转换器-自定义类型转换的实现
- 089-类型转换器-局部类型转换的注册
- 090-类型转换器-定义类型转换器时隐藏的一个问题
- 091-类型转换器-跳转到input视图
- 092-类型转换器-数据回显的实现
- 093-类型转换器-类型转换异常信息的修改
- 094-类型转换器-新的问题的提出
- 095-类型转换器-日期格式不正确的回显
- 096-类型转换器-多种日期格式的转换
- 097-数据验证-这里的数据验证指什么
- 098-数据验证-手工编写代码方式-对Action中所有方法执行之前的验证
- 099-数据验证-手工编写代码方式-对Action中指定方法执行之前的验证
- 100-数据验证-XML配置方式-对Action中所有方法执行之前的验证
- 101-数据验证-XML配置方式-对Action中指定方法执行之前的验证
- 102-数据验证-XML配置方式-常用验证器的用法
- 103-数据验证-Action方法的执行流程
- 104-拦截器自带拦截器
- 105-拦截器-权限拦截器需求
- 106-拦截器-拦截器的定义与注册
- 107-拦截器-权限拦截器的实现
- 108-拦截器-拦截器栈注册方式
- 109-拦截器-默认拦截器的注册
- 110-今天内容重难点
- 111-上次课内容回顾(重要)
- 112-拦截器-方法过滤拦截器
- 113-拦截器-拦截器的执行顺序
- 114-国际化-什么是国际化
- 115-国际化-测试环境搭建
- 116-国际化-全局资源文件的定义与注册
- 117-国际化-读取资源文件
- 118-国际化-i18n拦截器
- 119-国际化-为资源文件中动态参数赋值
- 120-国际化-包范围资源文件
- 121-国际化-Action范围资源文件
- 122-国际化-JSP页面中访问指定的资源文件
- 123-文件上传对于文件上传的实现
- 124-文件上传-上传单个文件的基本实现
- 125-文件上传-上传文件的保存路径问题
- 126-文件上传-没有选择上传文件的情况处理
- 127-文件上传-修改上传文件的最大值
- 128-文件上传-限制上传文件的扩展名
- 129-文件上传-上传多个文件
- 130-文件下载-文件下载程序的特点
- 131-文件下载-文件下载程序编写前分析
- 132-文件下载-文件下载的实现
- 133-文件下载-下载文件名的问题
- 134-文件下载-中文乱码问题
- 135-文件下载-输入流属性默认名称的问题
- 136-防止表单重复提交-什么是重复提交
- 137-防止表单重复提交-令牌机制
- 138-防止表单重复提交-代码实现
- 139标签
- 140注解
- 141注解-跳转到页面与Action
- 142注解-全局视图
- 143注解-拦截器
- 144重难点
Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。