当前位置:文档之家› 第01章框架技术概述_new.

第01章框架技术概述_new.

第一章框架技术概述本章主要内容1.1 框架技术的必要性为什么使用框架。

1.2 框架的涵义什么是框架及其优点。

1.3 技术、组件、框架和系统区分技术、组件、框架和系统。

1.4 Java 流行框架了解Struts2、Spring 和Hibernate 。

1.5 三层结构三层结构如何划分1.6 三层结构在Java 中的应用---分层原则本章主要内容1.7 MVC设计模式什么是MVC ,MVC 的目的。

1.8 自定义MVC 框架定义自己的框架。

1.9 用自定义框架实现加法器通过自定义框架的例子来理解框架作用。

1.1 框架技术的必要性思考一下:使用简历模板有哪些好处呢?使用了简历模板后,写简历有如下好处:不用考虑布局、排版等问题,提高了效率。

可专心在简历的内容上,使简历的质量更有保障。

大家的简历都结构统一,公司的人事人员阅读简历也会变得更方便。

使用了简历模板,新手也可以做出很专业的简历!1.1 框架技术的必要性使用预制的架构搭建房屋有以下好处:经济适用,使用标准化和定制化的组件搭建,这个组件可以大规模生产,必然便宜。

快速高效,工人使用都是标准的组件,经验比较容易积累,劳动效率会更高。

拆卸方便,组件在设计的时候就考虑到了重复使用性和拆卸问题。

装运方便,标准的组件就能应用标准的容器包装运输。

1.2 框架的涵义框架提供了可在应用程序之间共享的可覆用的公共结构。

开发者把框架融入他们自己的应用1.2.1 框架的涵义程序,并加以扩展,以满足他们特定的需要。

框架是一个应用程序的半成品一方面给我们提供了可以拿来就用的工具,更大意义上,给我们提供了可重用的设计。

“框从框架提供的组件中选用合适的完成你自己的框架是成熟的,不断升级的一组组件架”的意义也在于此,是应用程序的骨架。

开发者可以在这个骨架上面添加自己的东西,完系统。

且框架使用人众多,bug 能及时反映和修成符合自己需要的应用系统。

正。

一个框架是一个可复用的设计构件规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方法,框架相对于组件有更强的可定制性强框架为组件提供重用的环境,为构件处理错误、它为组件复用提供了上下文关系。

交换数据及激活操作提供了标准的方法。

应用用户所需要的就是完善一些抽象类,并且按照系统用途各不相同,但是每个系统都应该提供框架定义的方式,把这些类组合起来来构建自一些标准的服务功能,框架往往对这些标准的己的应用服务功能提供了良好的实现,应用系统的开发只要直接拿过来用就是1.2 框架的涵义1.2.2 框架的优势不用再考虑公共问题,框架已经帮我们做好了。

可以专心在业务逻辑实现上,保证核心业务逻辑的开发质量。

结构统一,易于学习、维护,经验积累速度提高。

框架中集成了前人的经验和智慧,可以帮助“新手”写出稳健,性能优良而且结构优美的高质量程序。

1.2 框架的涵义1.2.3 使用框架的心得一般情况下,不要尝试去修改框架的核心代码,应用开发者所需要的只是在框架的规约下,编写自己的业务代码,然后把这些业务代码组合起来构建起更个应用系统。

在最合适的地方插入最合适的代码,框架定义好了约束,框架使用者要明白自己的业务代码放在何处是最合理的,然后让框架把业务代码黏合起来。

1.3 技术、组件、框架和系统1.4 Java流行框架1.4.1 Struts2Apache Struts2源于WebWork 2,是一个优雅,伸缩性好的企业级Java web应用开发框架。

官方网站:1.4 Java流行框架Spring 主要作为依赖注入容器和AOP 实现存在。

它还提供了声明式事务,对DAO 层的支持等简化开发的功能。

Spring 还可以很方便地与Struts2,hibernate 等技术集成。

官方网站:1.4 Java流行框架1.4.3 HibernateHibernate 是一种Java 语言下的对象关系映射解决方案。

它为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。

ORM 的全称是Object Relational Mapping,即对象关系映射。

它的实现思想就是将关系数据库中表的数据映射成为对象,以对象的形式展现,这样开发人员就可以把对数据库的操作转化为对这些对象的操作。

官方网站:https:///1.4 Java流行框架客户端1.5 三层架构目前开发人员对系统开发的一个共识是使用三层架构,分为表示层,业务逻辑层,和数据访问层。

1.6 三层结构在Java 中的应用1.6.1 分层原则原则是各层职责明确,并且上一层调下一层。

1.6 三层结构在Java 中的应用1.7 MVC设计模式1.7.1 MVC含义模型(Model )“数据模型”(Model )用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法。

“模型”有对数据直接访问的权利,例如对数据库的访问。

“模型”不依赖“视图”和“控制视图(View )视图层能够实现数据有目的的显示(理论上,这不是必需的)。

在视器”,也就是说,模型不关心它会被如何显示图中一般没有程序上的逻辑。

或是如何被操作。

控制器(Controller )控制器起到不同层面间的组织作用,用于控制应用程序的流程。

它处理事件并作出响应。

“事件”包括用户的行为和数据模型上的改变1.7 MVC设计模式1.7.2 MVC的目的将模型(业务逻辑)和视图(页面展示)分离。

1.7 MVC设计模式1.7.3 J2EE的MVCJ2EE 为模型对象(Model Objects)定义了一个规范:视图( View )在J2EE 应用程序中,视图(View )可能由JSP 承担。

生成视图的代码则可能是一个servlet 的一部分,特别是在客户端服务端交互的时候。

控制器(Controller ) J2EE 应用中,控制器可能是一个servlet ,现在一般用Struts 实现。

模型(Model )模型则是由一个实体Bean 来实现。

1.8 自定义MVC 框架1.8.1 自定义框架例程要求将所有请求都发送到控制器(基于Servlet 实现),而且系统中只有一个控制器。

使用Action 表示用户请求的一种操作,比如:加法和登录。

控制器根据请求路径判断找哪一个Action 执行操作。

比如:如果请求路径是http://localhost:8080/sshsample/add.do则调用AddAction, 如果请求路径是http://localhost:8080/sshsample/login.do则调用LoginAction 。

Action 调用模型,执行业务操作,获得操作结果。

然后将结果返回到页面。

1.8 自定义MVC 框架1.8.2 自定义框架例程结构图1.9 用自定义框架实现加法器例子流程说明图:1.9 用自定义框架实现加法器例子配置文件及代码说明:配置文件:web.xml说明过程及作用1、add.jsp 作用:接受用户输入2个加数2、Controller.java 作用:一个Servlet 控制器,根据用户请求的url 解析,派发用户请求到恰当的Action 处理3、AddAction.java 作用:处理加法操作的Action 类4、Calculator.java 作用:真正做加法操作的业务对象5、add_result.jsp作用:用来显示加法处理结果的jsp6、web.xml 作用:web 应用配置文件,主要用了配置Servlet 和其负责处理的url1.9 用自定义框架实现加法器1.9.1 实现MVC 框架实现控制器Controller 代码参见示例11.9 用自定义框架实现加法器1.9.2 实现MVC 框架实现控制器ControllerMVC 框架实现的核心是控制器。

在处理每次请求时根据请求路径找到将要被执行的Action ,然后调用Action 的execute 方法,根据execute 方法返回值确定转发路径转发到相应的JSP 页面。

完成Controller 代码后,还需要在web.xml 配置。

我们的控制器在配置Servlet 访问路径的时候可以设置为*.do,表示只要是以“.do”结束的请求都会派发到Controller 。

Action 接口和Controller 类构成了自定义框架的MVC 控制器部分。

1.9 用自定义框架实现加法器web.xml 配置(参见示例21.9 用自定义框架实现加法器1.9.3 实现加法功能实现业务逻辑类:Calculator ,作为程序的“模型”部分。

由AddAction 实现Action 接口,在execute 方法中调用模型类方法。

AddAction 类是控制器的一部分。

创建add.jsp ,add_result.jsp页面。

add.jsp 是输入页面,add_result.jsp是显示计算结果的页面。

JSP 页面是程序的“视图”部分。

1.9 用自定义框架实现加法器“模型”部分:Calculator (参见示例31.9 用自定义框架实现加法器AddAction 类首先从request 中获得页面输入,然后调用业务方法获得结果,再将结果保存到request 对象的attribute 属性中。

(参见示例4 。

request.getParameter(和request.setAttribute(是Action 和JSP 页面交互的主要方式。

Action 类是模型和视图交互中枢。

1.9 用自定义框架实现加法器根据书上1.9节示例步骤(示例1~示例6),程序执行结果(参见图1.9总结通过这个例子,我们学会了怎么构建一个实现MVC设计模式的框架,并通过在这个框架上开发加法器体会了框架给开发带来的秩序和限制。

实现MVC设计模式的重点是实现控制器。

设计模式的目标是保证模型和视图的分离。

在Java Web应用开发中一般采用Servlet实现控制器,实现业务逻辑的 JavaBean充当模型的角色,使用JSP页面充当视图的角色。

相关主题