1.3 解决问题的思路
早期的Web应用全部是静态的HTML页面,可将一些个人信息呈现给浏览者。随着开发技术的发展,有不少技术问世,Model 1模式就是其中之一。Model 1是在JSP大行其道的时代,整个Web应用几乎全部都由JSP页面组成。将控制逻辑和显示逻辑混合在一起,导致代码的重用性非常低,而且不利于维护与扩展。开发人员看出这种开发模式不是长久之计,便提出了MVC的思想,即Model(模型)、View(视图)、Controller(控制器)。模型层负责数据的存取,视图层负责页面的显示工作,而控制层负责处理及跳转工作,这样它们的耦合性大大降低,提高了应用的可扩展性及可维护性。虽然如此,程序员还是有很多工作要做,而且代码的书写也没有一定的规范性。不同的程序员可以写出不同的代码,这种项目对于扩展及维护是非常不方便的。这时,框架的诞生就呼之欲出了。Java EE中框架很多,本书将着重介绍最近流行的三大框架及它们的组合:Struts框架、Hibernate框架和Spring框架。
1.3.1 轻型框架的流行
作为一个框架,如果要应用广泛,一定要具备以下6个特点:
① 上手快。
② 好的技术支持。
③ 整合其他技术能力强。
④ 扩张能力强。
⑤ 设计结构合理。
⑥ 运行稳定。
只有具备了上述特点,才能算得上是一个好的框架,才能被程序员认可及应用。而我们上面提到的Struts框架、Hibernate框架、Spring框架就完全具备了上述条件。下面先来简要介绍这三个框架,让大家有一个初步的印象。
1.3.2 Struts框架
前面提过,MVC模式的提出改变了程序设计的思路,但代码的规范性还是很差,而Struts框架则具有组件的模块化、灵活性和重用性的优点,同时也简化了基于MVC的Web应用程序的开发,从应用的角度来说,Struts有三大块:Struts核心类、Struts配置文件及Struts标签库。
由此可见,Struts本身就实现了MVC模式,就Struts的发展来说,从以前的Struts 1发展到现在的Struts 2,其目的是为了给程序员一个好的框架来开发应用软件。本书将重点讲述Struts 2。
1.3.3 Hibernate框架
对目前的Java EE信息化系统而言,通常采用面向对象分析和面向对象设计的过程。系统从需求分析到系统设计都是按面向对象方式进行。但是到详细设计阶段,由于数据持久化需要保存到关系数据库,不得不自底向上修改设计方案,又回到了按照过程进行编程的老路上来,这是非常令人沮丧的。
但人们的智慧是无穷的,遇到问题总会想办法解决,而不是与之妥协或绕道而走。Hibernate的问世解决了这个问题,Hibernate是一个面向Java环境的对象/关系映射工具,它可将对象模型表示的对象映射到基于SQL的关系数据模型中。这样就不用再为怎样用面向对象的方法进行数据的持久化而大伤脑筋了。
1.3.4 Spring框架
Spring框架是Rod Johnson开发的,2003年发布了Spring框架的第一个版本。Spring是一个从实际开发中抽取出来的框架,因此它完成了大量开发中的通用步骤,从而大大提高了企业应用的开发效率。
Spring为企业应用的开发提供了一个轻量级的解决方案。其中依赖注入、基于AOP的声明式事务管理、多种持久层的整合与优秀的Web MVC框架等最为人们关注。Spring可以贯穿程序的各层之间,但它并不是要取代那些已有的框架,而是以高度的开发性与它们紧密地整合,这也是Spring被广泛应用的原因之一。
上面简单介绍了这三种框架,下面将从JSP开始由浅入深地对这三种框架的具体应用做详细介绍。