JAVA WEB开发三大框架整理

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中移动杭州研究院

Java web开发三大框架整理报告

Java web开发三大框架整理

目录

1.引言 (1)

2Java Web开发三大框架 (2)

2.1Struts框架 (2)

2.1.1Struts框架概述 (2)

2.1.2Struts2处理流程 (3)

2.1.3Struts框架的组件分析 (4)

2.2Hibernate框架 (6)

2.2.1Hibernate工作原理和工作流程 (6)

2.2.2Hibernate框架的组件分析 (7)

2.2.3Hibernate核心接口 (8)

2.2.4Hibernate缓存管理 (8)

2.2.5Hibernate框架优势 (9)

2.3Spring框架 (9)

2.3.1Spring框架模块 (10)

2.3.2控制反转(IoC)和依赖注入(DI) (11)

2.3.3面相切面编程(AOP) (12)

2.3.4Spring框架优势 (12)

3SSH框架整合 (12)

3.1整合理念 (12)

3.2整合方案 (14)

3.2.1Spring与Struts的集成 (14)

3.2.2Spring与Hibernate的集成 (15)

3.2.3系统分析 (15)

4小结 (16)

1.引言

随着计算机网络技术的日益普及,基于Java的Web技术也得到了广泛的应用。然而,利用Java进行Web应用程序的软件架构非常复杂,这在很大程度上限制了Web系统的开发效率,因此轻量级J2EE框架应运而生。优秀的轻量级J2EE框架不仅保留了传统J2EE框架良好的可扩展性、可维护性等特点,还具有开发效率高、各层无缝集成等优点。

Web框架是开发者在使用某种语言编写Web应用服务端时关于架构的最佳

实践。所谓的三层开发就是将系统的整个业务应用划分为“表示层—业务逻辑层—数据访问层”,这样有利于系统的开发、维护、部署和扩展,分层是为了实现“高内聚、低耦合”。三层体系将业务规则、数据访问及合法性校验等工作放在业务逻辑层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。

本报告探讨现在主流一种轻量级J2EE架构,即SSH(Struts+Spring+Hibernate)框架,并对各层之间的整合技术进行研究。首先,分析了Struts、Spring和Hibernate 三种框架和各自的特点;其次,阐述了它们整合的理念,选取了一种比现有SSH 框架更加合理有效的整合方案,使其各层能够无缝集成、有机整合,最大限度地实现SSH框架的高内聚低耦合的特点。

2Java Web开发三大框架

2.1Struts框架

2.1.1Struts框架概述

Struts是一个基于MVC(Model-View-Controller)模式的应用架构开源框架,采用Servlet和JSP技术实现,它减弱了业务逻辑接口和数据接口之间的耦合,为开发人员节约了时间。其中Struts的控制文件struts-config.xml、Action和Action Servlet实现MVC的控制器,Java Bean或者EJB完成MVC的模型部分,JSP页面承担MVC的视图组件,而且所有的控制逻辑都是由struts-config.xml配置文件来完成。Struts把Servlet、JSP、自定义标签和信息资源(message resources)整合到一个统一的框架中,开发人员利用其进行开发时不用再自己编码实现全套MVC模式,极大的节省了时间。

在使用Struts框架应该遵守以下原则:

◆尽量使用Struts标签,避免嵌入Java代码;

◆避免在视图层处理对数据库的访问。

2.1.2Struts2处理流程

当用户端的Http请求到达时,Struts2处理流程如图2-1所示

图2-1Struts2处理流程

一个客户端请求在Struts2框架中的处理大概分为以下几个步骤:

◆客户端提交一个(Http Servlet Request)请求;

◆请求被提交到一系列(主要是3层)的过滤器(Filter),如Action Context

Clean Up、Filter Dispatcher等。注意:这里是有顺序的,先Action Context Clean Up,再其他过滤器(Other Filters、Site Mesh等),最后到Filter

Dispatcher;

◆Filter Dispatcher是控制器的核心,就是MVC的Struts2实现中控制层

(Controller)的核心;

◆Filter Dispatcher询问Action Mapper是否需要调用某个Action来处理这个

(Http Servlet Request)请求,如果Action Mapper决定需要调用某个

Action,Filter Dispatcher则把请求的处理交给Action Proxy;

◆Action Proxy通过Configuration Manager(struts.xml)询问框架的配置文件,

找到需要调用的Action类;

◆Action Proxy创建一个Action Invocation实例,同时Action Invocation通过

代理模式调用Action。但在调用之前,Action Invocation会根据配置加载Action相关的所有Interceptor(拦截器);

◆一旦Action执行完毕,Action Invocation负责根据struts.xml中的配置找到

对应的返回结果result,最后将该result通过(Http Servlet Response)请求返回给客户端。

2.1.3Struts框架的组件分析

(1)Struts2配置文件

Struts2配置文件是用户请求(View)和业务逻辑模块(Model))Action之间联系的桥梁,可以通过修改Struts2的配置文件来快速适应业务需求,它是整个Struts2的精髓之一。Struts2框架配置文件分为XML文件和属性资源文件两种。

web.xml对web应用中一些初始信息进行了配置。web.xml可以配置过滤器用于同时拦截多个请求的URL。除此之外web.xml还可以用来配的会话时间、欢迎页、错误页、监听器、控制器等等。

struts.xml文件主要用来配置Action和Http请求的对应关系,以及配置逻辑视图和物理视图资源的对应关系。struts.xml文件中包含了Action的定义以及Action的返回值对应的视图资源、命名空间等信息。此外,用户也可以定义自己的XML文件,然后通过include指令将其包含到struts.xml文件中。

另一类配置文件是属性资源文件。资源文件中一般采用固定的Key-Value形式,用于定义Struts2全局或者局部的资源数据。例如定义国际化、开发模式等信息。

(2)Struts2控制器

Struts2的控制器组建是Struts2框架的核心,事实上所有MVC框架都是以控制器组件为核心的。正如前面提到的,Struts2的控制器由两个部分组成:Filter Dispatcher和业务控制器Action。前者由框架提供,负责拦截所有的用户请求。

◆Filter Dispatcher

负责根据用户提交的URL和struts.xml中的配置,来选择合适的Action,让这个Action来处理用户的请求。Filter Dispatcher其实是一个过滤器Filter

相关文档
最新文档