- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Struts2框架培训日志
Struts框架的起源
Struts是在2001年5月发布第一个版本。
Struts主要目的实现MVC模式开发。结合Servlet和JSP技术将业务逻辑代码与数据显示代码分离开,实现低耦合的开发方式。
JSP / Freemarker + Servlet + JavaBean(JDBC)/EJB
Struts不断改进中两个最受瞩目的方案是Shale和Struts Ti。
Shale是一个基于构件的框架,并在最近成为Apache的顶级项目。
Struts Ti则是在Struts的成功经验基础上继续坚持对前端控制器(Front Controller)和MVC(model-view-controller)模式进行改进。
WebWork是在2002年3月发布的。
在2005年12月,WebWork与Struts Ti宣布合并。与此同时,Struts Ti改名为Struts Action Framework 2.0。
Struts1.x与Struts2区别
Struts2核心控制器由Servlet修改为Filter(核心控制器控制对目标程序(Action程序)的访问.)
Action对象多实例,不需要考虑线程安全问题。
支持多种视图展现技术(JSP,Freemarker,Volicity)
扩展性强,提供了拦截器 Interceptor
Struts2不是Struts1的升级,而是继承webwork的血统,它吸收了struts1和webwork的优势。
因为struts1框架存在固有的一些问题,所以这里我们只介绍Struts2框架。Struts1框架不再做介绍。
Struts2框架是一个轻量级的MVC流程框架
轻量级:用普通JavaBean程序代替EJB完成代码开发,从开发角度,从运行角度,比较快速和简单.无侵入性.
MVC:Model – View – Controller
Model : 做业务逻辑代码(Service),数据处理代码(DAO),数据封装(User/Page) - JavaBean/EJB
View : 数据展示JSP(JSTL/EL)/Freemarker
Controller : 流程控制(接收数据,调用Model,跳转页面) Servlet/Filter
流程: 数据流程. 数据从哪来的,到哪里去
框架: 框架是对通用代码进行封装,做项目开发利用框架来做,可以提高开发效率,程序员将开发任务重点放在业务逻辑代码的实现上. 框架从设计的角度,利用6大开发原则(开闭原则(OCP);迪米特法则,依赖倒转原则,里氏代换原则,接口隔离原则,合成聚合/复用原则),以及相关设计模式(工厂,模板,适配器,代理,单例,多例…),所以,框架都遵循迪米特法则.
Struts2框架的文件结构:
apps : 包含了框架的多个应用压缩包(war)
docs : 框架的说明文档(学习手册,API文档)。
lib : 框架依赖的jar包
src : 框架的源码文件夹
Struts2框架的环境搭建
Web项目
JAR包
配置文件(struts.xml)
业务类及页面(HelloWorldAction, HelloWorld.jsp)
web.xml(增加过滤器:核心控制器)
struts2框架的第一个例子
参考struts2框架自带的例子:struts2-blank-2.x.war(需要将文件拷贝到tomcat服务器的webapps中)
struts2框架的源码解读
struts2框架是MVC流程框架,所以重点就在流程上,如果能将源码的实现看懂,那么对于框架的应用和技术实现就更加容易理解
通过源码的解读,可以发现,框架采用工厂模式和代理模式等设计模式,并且底层采用反射方式实现,所以理解好反射,对于框架的学习会更好。
通过分析Struts2的源代码,讲解设计到的JavaEE设计模式和GoF设计模式。JavaEE前端控制器模式、GoF的代理模式ActionProxy、工厂模式(抽象工厂模式)ObjectFactory、责任链模式Interceptor、策略模式ResultType、模版方法模式ResultType内部实现、缺省适配器模式Interceptor内部实现;
总体来说设计模式分为三大类:
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 Open Closed Principle)
里氏代换原则(LSP- L
文档评论(0)