1 / 153
文档名称:

框架结构.ppt

格式:ppt   大小:3,031KB   页数:153页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

框架结构.ppt

上传人:wz_198613 2018/8/2 文件大小:2.96 MB

下载得到文件列表

框架结构.ppt

文档介绍

文档介绍:第 10 章
Struts2框架结构
书中11、 10、 8章
2
回顾
EL的语法:描述 JSP 表达式语言的语法
认识使用 JSP表达式的优点
在 JSP 中使用表达式语言
3
目标
Struts2与控制器Action
类型转换与输入验证
***
OGNL与Struts标签库(1)
Struts标签库(2)—UI标签与ajax标签
Struts2高级应用
4
Struts—第一节
Struts2与控制器Action
4
5
Struts2与控制器Action目标
Struts2介绍与环境搭建
StrutsPrepareAndExecuteFilter过滤器
Action,ActionSupport及配置
Action与请求参数
Action控制逻辑
Action与Servlet API (ActionContext, ServletActionContext)
5
6
Struts介绍
Struts是一个Web框架,他以一种更加优雅的方式来实现控制器,并提供如国际化,类型转换,数据验证,ajax等一系列的功能
Struts是在MVC架构模式的基础上构建的一种Web解决方案
在Struts2中使用IoC和AOP最先进的设计思想,使得控制器与容器最大程度的解耦
6
7
IoC介绍3-1
IoC(Inversion of Control,控制倒转)的思想最早是1996年从C++领域提出来的,虽然OO的流行大大提高了重用性和可扩展性,可当时人们可能还是觉得业务模块还不够清晰、也不够灵活,各种业务逻辑里弥漫着设计模式“冗余”代码,从而想剥离这部分,随之而然,IOC的思想浮出水面。
,支持spring的IoC容器
7
8
IoC的一个重点是在系统运行中,动态的向某个对象提供它所需要的其他对象。这一点是通过DI(Dependency Injection,依赖注入)来实现的。比如对象A需要操作数据库,以前我们总是要在A中自己编写代码来获得一个Connection对象,有了 spring我们就只需要告诉spring,A中需要一个Connection,至于这个Connection怎么构造,何时构造,A不需要知道。在系统运行时,spring会在适当的时候制造一个Connection,然后像打针一样,注射到A当中,这样就完成了对各个对象之间关系的控制。A需要依赖 Connection才能正常运行,而这个Connection是由spring注入到A中的,依赖注入的名字就这么来的。那么DI是如何实现的呢? Java (reflection),它允许程序在运行的时候动态的生成对象、执行对象的方法、改变对象的属性,spring就是通过反射来实现注入的。关于反射的相关资料请查阅java doc。
IoC介绍3-2
9
关于可配置     把这种组织工作转移给框架(比如spring容器),编译期不必知道是谁来实现,而只关心业务逻辑,并装载这些组件的工作在运行期通过配置来确定,如果说设计模式是一种代码级的硬耦合,那么IOC是一种配置级的硬耦合吧?!不过给人的感觉修改配置文件比修改代码的可配性要高。
关于解耦     想想,在设计模式上,调用类用工厂模式请求了被调用类,看上去被写死在代码级别上了,所以是编译期确定。     在IOC上,宿主类在代码级别上不关心具体哪个类去实现,只要“未知类”实现了我的接口就行,在运行期由容器去加载实现类,所以可以运行期确定。
IoC介绍3-3
10
AOP介绍
AOP(Aspect-Oriented Programming,面向方面编程)可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。AOP实际是GoF设计模式的延续,设计模式孜孜不倦追求的是调用者和被调用者之间的解耦,AOP可以说也是这种目标的一种实现。
主要的功能是:日志记录,性能统计,安全控制,事务处理,异常处理等等。
主要的意图是:将日志记录,性能统计,安全控制,事务处理,异常处理等代码从业务逻辑代码中划分出来,通过对这些行为的分离,我们希望可以将它们独立到非指导业务逻辑的方法中,进而改变这些行为的时候不影响业务逻辑的代码。