中移动杭州研究院
Java web开发三大框架整理
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
Java web开发三大框架整理
目 录
1.引言 2
2 Java Web 开发三大框架 2
2.1 Struts框架 2
2.1.1 Struts框架概述 2
2.1.2 Struts2 处理
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
3
2.1.3 Struts框架的组件分析 4
2.2 Hibernate框架 6
2.2.1 Hibernate 工作原理和工作流程 7
2.2.2 Hibernate框架的组件分析 7
2.2.3 Hibernate核心接口 8
2.2.4 Hibernate缓存管理 9
2.2.5 Hibernate框架优势 9
2.3 Spring框架 10
2.3.1 Spring框架模块 10
2.3.2 控制反转(IoC) 和依赖注入(DI) 11
2.3.3 面相切面编程(AOP) 12
2.3.4 Spring框架优势 12
3 SSH框架整合 13
3.1 整合理念 13
3.2 整合
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
14
3.2.1 Spring 与Struts 的集成 14
3.2.2 Spring 与Hibernate的集成 15
3.2.3 系统分析 16
4 小结 16
1.引言
随着计算机网络技术的日益普及,基于Java的Web技术也得到了广泛的应用。然而,利用Java进行Web应用程序的软件架构非常复杂,这在很大程度上限制了Web系统的开发效率,因此轻量级J2EE框架应运而生。优秀的轻量级J2EE框架不仅保留了传统J2EE框架良好的可扩展性、可维护性等特点,还具有开发效率高、各层无缝集成等优点。
Web框架是开发者在使用某种语言编写Web应用服务端时关于架构的最佳实践。所谓的三层开发就是将系统的整个业务应用划分为“表示层—业务逻辑层—数据访问层”,这样有利于系统的开发、维护、部署和扩展,分层是为了实现“高内聚、低耦合”。三层体系将业务规则、数据访问及合法性校验等工作放在业务逻辑层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。
本报告探讨现在主流一种轻量级J2EE架构,即SSH(Struts +Spring +Hibernate) 框架,并对各层之间的整合技术进行研究。首先,分析了Struts、Spring和Hibernate 三种框架和各自的特点;其次,阐述了它们整合的理念,选取了一种比现有SSH框架更加合理有效的整合方案,使其各层能够无缝集成、有机整合,最大限度地实现SSH框架的高内聚低耦合的特点。
2 Java Web 开发三大框架
2.1 Struts框架
2.1.1 Struts框架概述
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.2 Struts2 处理流程
当用户端的Http请求到达时,Struts2 处理流程如图2-1所示
图2-1 Struts2 处理流程
一个客户端请求在Struts 2框架中的处理大概分为以下几个步骤:
◆ 客户端提交一个(Http Servlet Request)请求;
◆ 请求被提交到一系列(主要是3层)的过滤器(Filter),如Action Context Clean Up、Filter Dispatcher等。注意:这里是有顺序的, 先Action Context Clean Up ,再其他过滤器(Other Filters、Site Mesh等),最后到Filter Dispatcher;
◆ Filter Dispatcher是控制器的核心,就是MVC的Struts 2实现中控制层(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.3 Struts框架的组件分析
(1) Struts 2配置文件
Struts 2配置文件是用户请求(View)和业务逻辑模块(Model))Action 之间联系的桥梁,可以通过修改Struts 2的配置文件来快速适应业务需求,它是整个Struts 2的精髓之一。Struts 2框架配置文件分为XML文件和属性资源文件两种。
web.xml对web应用中一些初始信息进行了配置。web.xml可以配置过滤器用于同时拦截多个请求的URL。除此之外web.xml还可以用来配
的会话时间、欢迎页、错误页、监听器、控制器等等。
struts.xml文件主要用来配置Action和Http请求的对应关系,以及配置逻辑视图和物理视图资源的对应关系。struts.xml文件中包含了Action 的定义以及Action 的返回值对应的视图资源、命名空间等信息。此外,用户也可以定义自己的XML文件,然后通过include指令将其包含到struts.xml文件中。
另一类配置文件是属性资源文件。资源文件中一般采用固定的Key -Value形式,用于定义Struts 2 全局或者局部的资源数据。例如定义国际化、开发模式等信息。
(2) Struts 2 控制器
Struts 2的控制器组建是Struts 2框架的核心,事实上所有MVC框架都是以控制器组件为核心的。正如前面提到的,Struts 2的控制器由两个部分组成:Filter Dispatcher和业务控制器Action。前者由框架提供,负责拦截所有的用户请求。
◆ Filter Dispatcher
负责根据用户提交的URL和struts.xml中的配置,来选择合适的Action,让这个Action来处理用户的请求。Filter Dispatcher其实是一个过滤器Filter(Servlet规范中的一种web组件),只需要在web.xml文件中配置即可。Filter Dispatcher充分体现了J2EE核心设计模式中的前端控制器模式。
◆ 业务控制器Action
Struts 2框架为用户提供了一个名为Action Support的接口。该接口定义SUCCESS、ERROR、INPUT、LOGIN、NONE五个静态的字符串和一个execute方法,用户在编写自己的Action时只要实现该接口并重写其中的execute方法,将所要实现的业务逻辑在该方法中处理就行了,当调用Action时,Struts 2框架会自调用execute方法来完成所需的业务逻辑处理。而且用户亦可编辑自己的函数并通过Struts 2框架调用实现。实际上,在Struts2中起作用的业务逻辑并不是用户自定义的Action ,而是系统生成的Action代理,只不过Action代理以用户定义的Action为目标。
(3) Struts2 拦截器
拦截器(Interceptor)是Struts 2中的重要组成部分,Struts 2拦截器是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,并且Struts2拦截器是可插拔的。拦截器是AOP的一种实现。使用拦截器可以给开发过程带来很多好处:可以将大问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
分解成多个小问题以便于处理,使每个Action更专注于处理自己的功能。Struts 2拦截器(Interceptor Stack)就是将拦截器按一定的顺序联结成一条链。图2-2为拦截器功能图。在访问被拦截的方法或字段时,Struts2拦截器链中的拦截器就会按其之前定义的顺序被调用。Struts2拦截器的实现原理相对简单,当请求struts2的action时,Struts 2会查找配置文件,并根据其配置实例化相对的 拦截器对象,然后串成一个列表,最后一个一个地调用列表中的拦截器。