Struts2授课:王勇流行的MVC框架
Struts2纲要Struts2概述Struts2与Struts1的差异掌握Struts2体系结构掌握Struts2开发流程掌握Struts2常用配置
Struts2概述Struts2仍然是一个基于请求驱动的MVC框架Struts2不是Struts1的升级Struts2与Struts1的体系结构差距非常大Struts2采用了另一个MVC框架WebWork的核心设计Struts2是WebWork的一个升级Struts2更加优秀松耦合设计以后会讲到…
Struts2与Struts1的对比Action类Struts1的Action必须继承Struts2的Action可以不继承Action的线程安全Struts1是单例的,存在线程安全问题Struts2是多例的,没有线程安全问题
Struts2与Struts1的对比ServletAPI依赖Struts1中的Action需要依赖ServletAPIStruts2中的Action可以不用依赖ServletAPI可测试性Struts1的Action测试性不好,因为需要容器支持,因为在Action依赖于ServletAPIStruts2的Action测试性好,可以直接写一个单元测试完成,因为Struts2的Action是一个POJO对象
Struts2与Struts1的对比ActionForm方面Struts1收集数据通常使用ActionForm,而ActionForm还需要继承,使ActionForm的复用率降低,另外项目非常大会建立很多ActionForm给维护带来工作量,但也有好处数据的收集和控制进行了很好的分离Struts2可以不用使用ActionForm来收集数据,直接让Action来收集数据,但也可以采用类似ActionForm的方式来收集数据,Struts2采用了ModelDriven的方式来支持类似Struts1的ActionForm方式,所以Struts2更灵活表达式语言方面Struts1中我们通常使用JSTLStruts2中我们可以使用功能更加强大的表达式语言OGNL(ObjectGraphNotationLanguage)
Struts2与Struts1的对比类型转换Struts1中对ActionForm的类型转换采用commons-beanutils工具,而定义完成一个转换器,将对所有的ActionForm起作用,而不能针对某个一ActionForm来配置是否使用此类型的转换器Struts2使用OGNL进行类型转换,功能更加强大,转换过程可以针对某个类型进行配置校验Struts1采用覆盖ActionForm中的validate()方法或采用验证框架commonsvalidator来验证Struts2支持使用覆盖validate()方法来完成验证,也支持验证框架XWork来验证
Struts2与Struts1的对比Action执行控制Struts1固定不变的Struts2通过拦截器,可以改变执行流程,灵活配置的
Struts2架构图
Struts2简单执行流程所有请求被Struts2核心控制器FilterDispather拦截根据ActionMapper提供的信息决定如何进行下一步ActionMapper主要依赖Struts2的配置文件struts.xml接下来为每个Action创建Action代理类ActionProxy执行ActionProxy的execute()方法在执行execute()方式时会逐个执行Struts2中的拦截器执行完成拦截器后才会真正执行目标Action目标Action需要返会转向的视图名称ActionProxy取得视图名称对象Result完成转向生成resposne对象完成本次请求
Struts2,第一个示例完成一个用户登录的示例登录页面,包含用户名和密码输入域验证用户名和密码等于bjpowernode,转向登录页面否则转向失败页面开发过程在MyEclipse中创建web项目在apache网站上下载Struts2将struts2中相关的依赖包拷贝到WEB-INF/lib目录下,依赖包可以全部拷贝,也可以有选择的拷贝,如只使用Struts2的基本功能只拷贝如下依赖包即可commons-logging-1.0.4.jarfreemarker-2.3.15.jarognl-2.7.3.jarstruts2-core-.jarxwork-core-2.1.6.jarcommons-fileupload-1.2.1.jar
Struts2,第一个示例在web.xml文件中配置Struts2的核心控制器FilterDispather,可以参见Struts2下的blank项目,配置如下filt
您可能关注的文档
最近下载
- 《专升本英语教学课件》定语从句.ppt VIP
- 冻干机维护保养标准操作规程.doc VIP
- 环卫的安全培训课件.pptx VIP
- 小学排球兴趣小组活动记录].doc VIP
- 市政工程测量施工方案.docx VIP
- 深度解析(2026)《SJT 207.1-2018设计文件管理制度 第1部分设计文件的分类和组成》.pptx VIP
- 2025年食品安全协管站工作总结及2026年工作计划.docx
- 人教版初中九年级下册英语词汇教学课件 Unit 13【课件+视频+单词音频】 Unit 13 Section A.ppt VIP
- 新生入学安全知识考试试题.docx VIP
- 《专升本英语教学课件》主谓一致.ppt VIP
原创力文档

文档评论(0)