第4章说明了系统的总体设计,包括系统功能结构设计、系统架构设计和系统业务实体设计。
第5章对所开发的课程练习管理子系统的主要模块的设计和实现进行了详细的说明。
2 相关技术介绍及开发环境
2。1 J2EE技术
J2EE(即Java2平台企业版)是一套不同于传统应用开发的技术架构,它包含许多组件,具有开发效率高、可移植性强、重用性好和易于维护的优点。J2EE技术的基础就是核心Java平台或者说Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。
2。2 SSH框架
SSH框架是目前比较流行的一种Web应用程序开发集成框架,由Struts、Spring和Hibernate三大框架共同整合而成,用于构建灵活性好、易于扩展的多层次Web应用程序。
2。2。1 Struts框架
Struts是一种方便实用的Web应用框架,它所有的功能都是建立在已有的Java Web组件上的,比如说Servlet、Jsp或是JavaBean。Struts是基于MVC设计模式的架构,它采用这种模式把这些元素组织起来,使它们能够协同工作。
Struts在项目中主要负责视图层、控制层(这里是指系统架构分层),它在视图层提供了大量的标签库,使得开发人员可以更高效地编写视图层,提高了视图层的开发速度。在控制层使用中央控制器和配置文件,完成拦截用户请求和封装请求参数的工作。
2。2。2 Spring框架
Spring是一个全方位的整合框架,在项目中负责对Hibernate和Struts进行整合的工作,并解决各层之间的耦合问题。
Spring主要内容包括Spring IoC和Spring AOP。Spring IoC,中文名为控制反转。Spring IoC借助依赖注入设计模式,把对象的创建、初始化、销毁等工作交给Spring容器来做,使得开发者无需理会对象的生命周期及其相互之间的关系,而且能够改善开发者对模式的使用。Spring AOP ,中文名为面向方面编程。AOP可以说是OOP(面向对象编程)的补充和完善,是当今软件软件开发的一大模式。它用一种称为“横切”的技术,剖开封装对象的内部,并将那些非核心的业务(比如说事务、权限等,与业务逻辑没有关系的部分)封装到一个可重用模块,并将其命名为“Aspect”,即方面。AOP 的作用在于分离系统中的各种关注点,将核心关注点和横切关注点(即方面)分离开来。
Spring在项目中负责业务层管理,并对Hibernate和Struts进行整合,解决层与层之间的耦合问题,提高代码的重用性和易于维护性。
2。2。3 Hibernate框架
Hibernate是一个开源的持久化中间件,它对JDBC做了轻量的封装,使得开发人员可以更加便捷地使用OOP(面向对象编程)思维来操作数据库。其实Hibernate提供的是ORM映射服务,也就是对象——关系的映射,将关系数据库转化为对象[16]。在使用Hibernate操作数据库时,无需考虑一个数据记录中每一字段的操作;一个持久化类实例便是一个数据记录;改变某个对象的属性也就是改变了数据记录相应的字段;保存一个持久化类实例就是保存一条数据记录[16]。
Hibernate在项目中负责数据持久化层,对JDBC访问数据库的代码做了轻量的封装,大大简化了DAO层的重复性代码,使开发人员得以从大量相同的数据持久层编程工作中解放出来,使开发更加对象化了。
2。3 Ajax技术
Ajax是一种交互式网页技术,可以用来实现异步刷新。Ajax采用XMLHttpRequest对象进行数据的异步交互,使用JavaScript增强用户体验,使用DOM(文档对象模型)组织内容,使用CSS显示外观,使用XML封装数据[17]。