Struts的工作原理如图2-1:
图2-1 Struts框架图
(2)Struts2的优势
① Struts2不必将视图页面与对象绑定在一起,根据其提供的ValueStack技术,让标签库能够自动访问值。
② Struts2提供强大的OGNL对象导航图语言,同时支持JSTL,使前端页面在数据展示方便表现的更加灵活,此外还支持常用对象与基本数据类型之间的转换、提供对Velocity 、FreeMarker的模板的支持。
③ 只需要实现一个Action或其子接口,就可以实现接收每个请求对象,并将每一个请求对象实例化,同时,struts2提供的核心控制器负责拦截所有HTTP请求,并能够根据请求调用相应的处理器去处理业务逻辑,最终返回给指定的结果集页面。
(3)Struts的缺点:
① Struts框架基于servlet进行开发的,所以servlet的问题在这个框架中都能体 现出。
② Struts2框架的流程一般是固定的,如果想要扩展其它的业务流程就会显得不 方便。
③ 只支持动态视图JSP展现数据,对于现在的SEO(搜索引擎优化)支持不好。
(4)Hibernate框架简介
Hibernate是将对象模型映射到数据库的一种开发源代码的对象关系映射框架[6]。作为一种轻量级的开发框架,它实现了对JDBC的封装,使得java开发人员不必要过分关心底层数据库的实现,将更多的时间花在代码的构建中,此外Hibernate框架操纵数据库的方式是使用面向对象思维,更符合java面向对象的编程思想。
图2-2 Hibernate核心图
Hibernate是优秀的持久化数据的框架,从上图可以看出Hibernate具有的其中主要接口,以及主配置文件[7]:
① Session接口:负责持久化对象的CRUD操作。
② SessionFactory接口:负责初始化Hibernate,充当数据存储源的代理。
③ Transaction接口:负责事务相关操作。
④ Query和Criteria接口:负责执行各种数据库查询。
⑤ Configuration接口:负责配置并启动Hibernate。
(5)Hibernate优点:
① 对象化
使用面向对象的思维方式存储数据,只需要在配置文件中写出实体对象对应的xml文件,并放到hibernate。cfg。xml中,即可完成实体映射。
② 移植性
Hibernate自动实现了持久层代码的封装,不需要开发人员了解数据库底层,即可完成开发。
③ 低侵入性
Hibernate的低侵入性可以更好的管理代码,减少后期开发、维护成本,因而以轻量级框架著称。
④ Hibernate编写的代码在测试上可以很方便的完成测试功能。
(6) 缺点:文献综述
① 使用数据库特性的语句,将很难调优。
② 学习成本比较高,相对于其它框架来说,可能在学习过程中要花更多的时间。
③ 系统中存在大量的攻击查询功能。
(7)Spring简介
Spring是一种为解决开发复杂度的开发框架。主要提供控制反转(IoC)与面向对象(AOP)的编程方法,让容器负责管理各组件的生成与调用,借助其强大的依赖注入,大大降低了程序在代码上的耦合与侵入,并能够在市场上经久不衰,广为开发者所喜爱[8]。
⑻优点
① 为每个对象单独创建一个bean,并通过容器管理bean从而达到松耦合的效果。
② Spring框架提供的AOP支持,即能够并发执行业务逻辑与系统服务,在日志与事务管理上有很好的应用。
③ 提供分层架构思想,降低系统开发的复杂性,从而让系统更加趋于高效性。
2。3前台主要框架介绍