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的变化很小。
当Web容器收到请求(HttpServletRequest)它将请求传递给一个标准的的过滤链包括(ActionContextCleanUp)过滤器。
经过Other filters(SiteMesh ,etc),需要调用FilterDispatcher核心控制器,然后它调用ActionMapper确定请求哪个Action,ActionMapper返回一个收集Action详细信息的ActionMaping对象。
FilterDispatcher将控制权委派给ActionProxy,ActionProxy调用配置管理器(ConfigurationManager) 从配置文件中读取配置信息(struts.xml),然后创建ActionInvocation对象。
ActionInvocation在调用Action之前会依次的调用所用配置拦截器(Interceptor N)一旦执行结果返回结果字符串ActionInvocation负责查找结果字符串对应的(Result)然后执行这个Result Result会调用一些模版(JSP)来呈现页面。
拦截器(Interceptor N)会再被执行(顺序和Action执行之前相反)最后响应(HttpServletResponse)被返回在web.xml中配置的那些过滤器和核心控制器(FilterDispatcher)。
•001.Struts2:Struts2的引入-通过Filter解决需求问题
•002.Struts2:Struts2的引入-通过核心Filter解决需求问题
•003.Struts2:Struts2的引入-配置文件的引入
•004.Struts2:Struts2在三层架构中的位置
•005.Struts2:Struts2框架介绍
•006.Struts2:Struts2的特点
•007.Struts2:Struts2运行环境搭建-导入Jar包
•008.Struts2:Struts2运行环境搭建-Struts2的启动项注册
•009.Struts2:Struts2运行环境搭建-定义Struts2的配置文件
•010.Struts2:Struts2运行环境搭建-XML没有自动提示问题的解决
•011.Struts2:今天内容重难点
•012.Struts2:对上次课内容的回顾
•013.Struts2:Struts2运行环境搭建-MyEclipse中配置Tomcat
•014.Struts2:Struts2运行环境搭建-运行环境搭建成功测试
•015.Struts2:Struts2运行环境搭建-每个Struts2基本Jar的作用
•016.Struts2:第一个Struts2程序-程序实现
•017.Struts2:第一个Struts2程序-程序的简单运行流程
•018.Struts2:第一个Struts2程序-官方流程图分析
•019.Struts2:第一个Struts2程序-Tomcat的应用管理配置
•020.Struts2:第一个Struts2程序-省去项目名称的发布方式
•021.Struts2:绝对路径与相对路径-什么是绝对路径
•022.Struts2:绝对路径与相对路径-什么是相对路径
•023.Struts2:绝对路径与相对路径-带斜杠的相对路径的参照路径问题
•024.Struts2:绝对路径与相对路径-不带斜杠的相对路径的参照路径问题
•025.Struts2:绝对路径与相对路径-带斜杠的相对路径的参照路径问题的解决
•026.Struts2:绝对路径与相对路径-不带斜杠的相对路径的参照路径问题的解决
•027.Struts2:成员变量与属性
•028.Struts2:再解Struts2框架
•029.Struts2:配置文件-struts-default.xml
•030.Struts2:配置文件-default.properties
•031.Struts2:配置文件-struts-plugin.xml
•032.Struts2:配置文件-struts.properties
•033.Struts2:配置文件-web.xml
•034.Struts2:配置文件-配置文件的优先级
•035.Struts2:核心配置文件-package
•036.Struts2:核心配置文件-action-class属性
•037.Struts2:核心配置文件-action-method属性
•038.Struts2:核心配置文件-result-name属性
•039.Struts2:核心配置文件-result-请求转发与重定向
•040.Struts2:核心配置文件-result-type=dispatcher
•041.Struts2:核心配置文件-result-type=redirect
•042.Struts2:核心配置文件-result-type=redirectAction
•043.Struts2:核心配置文件-result-type=chain
•044.Struts2:核心配置文件-包范围全局视图
•045.Struts2:核心配置文件-应用范围全局视图
•046.Struts2:核心配置文件-为应用指定多个配置文件
•047.Struts2:今天内容重难点
•048.Struts2:上次课内容回顾
•049.Struts2:获取ServletAPI-通过ActionContext获取-Struts2:
•050.Struts2:获取ServletAPI-通过ActionContext获取-2
•051.Struts2:获取ServletAPI-通过ServletActionContext获取
•052.Struts2:获取ServletAPI-通过实现特定接口获取
•053.Struts2:OGNL与值栈-OGNL及其特点
•054.Struts2:OGNL与值栈-OGNL文档阅读
•055.Struts2:OGNL与值栈-值栈的学习方法
•056.Struts2:OGNL与值栈-值栈对象
•057.Struts2:OGNL与值栈-值栈的获取很麻烦
•058.Struts2:OGNL与值栈-context属性的别名ActionCotnext
•059.Struts2:OGNL与值栈-值栈的获取很简单
•060.Struts2:OGNL与值栈-值栈的栈操作
•061.Struts2:OGNL与值栈-值栈操作-搭建测试环境
•062.Struts2:OGNL与值栈-值栈操作-向root中添加无名对象
•063.Struts2:OGNL与值栈-值栈操作-向root中添加有名对象
•064.Struts2:OGNL与值栈-值栈操作-将root作为ArrayList放入数据
•065.Struts2:OGNL与值栈-值栈操作-向root中隐式的放入数据
•066.Struts2:OGNL与值栈-值栈操作-向context中显式的放入数据
•067.Struts2:OGNL与值栈-值栈操作-向context中隐式的放入数据
•068.Struts2:OGNL与值栈-值栈操作-root中数据的加载顺序
•069.Struts2:OGNL与值栈-值栈操作-request中数据的加载顺序
•070.Struts2:OGNL与值栈-创建和遍历List
•071.Struts2:OGNL与值栈-创建和遍历Map
•072.Struts2:OGNL与值栈-集合元素的判断
•073.Struts2:OGNL与值栈-集合投影
•074.Struts2:OGNL与值栈-集合查询
•075.Struts2:OGNL与值栈-今天内容重难点
•076.Struts2:OGNL与值栈-上次课内容回顾
•077.Struts2:动态调用方法-什么是动态调用方法
•078.Struts2:动态调用方法-动态方法调用
•079.Struts2:动态调用方法-通配符定义Action
•080.Struts2:接收请求参数-属性驱动
•081.Struts2:接收请求参数-域驱动
•082.Struts2:接收请求参数-模型驱动
•083.Struts2:接收请求参数-集合数据接收
•084.Struts2:接收请求参数-Action实例是多例的
•085.Struts2:类型转换器-默认的类型转换器
•086.Struts2:类型转换器-自定义类型转换器
•087.Struts2:类型转换器-为什么类型转换器要定义为双向的
•088.Struts2:类型转换器-为什么由页面到服务端的转换value是String数组
•089.Struts2:类型转换器-自定义类型转换的实现
•090.Struts2:类型转换器-局部类型转换的注册
•091.Struts2:类型转换器-定义类型转换器时隐藏的一个问题
•092.Struts2:类型转换器-跳转到input视图
•093.Struts2:类型转换器-数据回显的实现
•094.Struts2:类型转换器-类型转换异常信息的修改
•095.Struts2:类型转换器-新的问题的提出
•096.Struts2:类型转换器-日期格式不正确的回显
•097.Struts2:类型转换器-多种日期格式的转换
•098.Struts2:数据验证-这里的数据验证指什么
•099.Struts2:数据验证-手工编写代码方式-对Action中所有方法执行之前的验证
•100.Struts2:数据验证-手工编写代码方式-对Action中指定方法执行之前的验证
•101.Struts2:数据验证-XML配置方式-对Action中所有方法执行之前的验证
•102.Struts2:数据验证-XML配置方式-对Action中指定方法执行之前的验证
•103.Struts2:数据验证-XML配置方式-常用验证器的用法
•104.Struts2:数据验证-Action方法的执行流程
•105.Struts2:拦截器-Struts2自带拦截器
•106.Struts2:拦截器-权限拦截器需求
•107.Struts2:拦截器-拦截器的定义与注册
•108.Struts2:拦截器-权限拦截器的实现
•109.Struts2:拦截器-拦截器栈注册方式
•110.Struts2:拦截器-默认拦截器的注册
•111.Struts2:今天内容重难点
•112.Struts2:上次课内容回顾(重要)
•113.Struts2:拦截器-方法过滤拦截器
•114.Struts2:拦截器-拦截器的执行顺序
•115.Struts2:国际化-什么是国际化
•116.Struts2:国际化-测试环境搭建
•117.Struts2:国际化-全局资源文件的定义与注册
•118.Struts2:国际化-读取资源文件
•119.Struts2:国际化-iStruts2:8n拦截器
•120.Struts2:国际化-为资源文件中动态参数赋值
•121.Struts2:国际化-包范围资源文件
•122.Struts2:国际化-Action范围资源文件
•123.Struts2:国际化-JSP页面中访问指定的资源文件
•124.Struts2:文件上传-Struts2对于文件上传的实现
•125.Struts2:文件上传-上传单个文件的基本实现
•126.Struts2:文件上传-上传文件的保存路径问题
•127.Struts2:文件上传-没有选择上传文件的情况处理
•128.Struts2:文件上传-修改上传文件的最大值
•129.Struts2:文件上传-限制上传文件的扩展名
•130.Struts2:文件上传-上传多个文件
•131.Struts2:文件下载-文件下载程序的特点
•132.Struts2:文件下载-文件下载程序编写前分析
•133.Struts2:文件下载-文件下载的实现
•134.Struts2:文件下载-下载文件名的问题
•135.Struts2:文件下载-中文乱码问题
•136.Struts2:文件下载-输入流属性默认名称的问题
•137.Struts2:防止表单重复提交-什么是重复提交
•138.Struts2:防止表单重复提交-令牌机制
•139.Struts2:防止表单重复提交-代码实现
•140.Struts2:Struts2标签
•141.Struts2:Struts2注解
•142.Struts2:Struts2注解-跳转到页面与Action
•143.Struts2:Struts2注解-全局视图
•144.Struts2:Struts2注解-拦截器
•145.Struts2:Struts2重难点
如果大家比较感兴趣,可以关注极悦Struts2视频教程,里面的课程内容细致全面,通俗易懂,适合没有基础的小伙伴学习,希望对大家能够有所帮助哦。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习