文档介绍:第24章综合Struts+Spring+Hibernate开发图书管理系统
本章将要实现的是一个简单图书管理系统,由用户登录和图书馆里两部分组成。本系统将采用三层架构的模式分为表现层、业务层、持久化成。在开发过程中利用了Struts来实现Web层,这里遵循了经典的MVC模式;使用Hibernate来实现数据访问和持久化层;使用Spring来实现业务层和整合工作。通过本章的学习将体会到三个框架结合的力量,在这里1+1+1要远远大于3。
说明:本章学习的重点在于整合三个框架和如何面对实际应用,某些技术细节可以查阅前面的章节。
概述
在本节中首先将介绍图书馆里系统的基本功能也就是明确本章要实现的目标,其次对开发环境需要的资源做一个简单描述,使读者就可在阅读本章前提前做好准备。最后就是说明开发文件和目录应该如何组织。明确了这些大框架就会避免再出现诸如“找不到文件”、“类未加载”等恼人的错误,那么跟随本章实现这个实用的实例就会轻松许多了。
系统功能预览
在本系统中主要包含两个模块:登录和图书管理。具体实现的用例图如图。
对于图书管理模块,主要分为对图书的维护:新增图书、修改图书、删除图书和对图书的检索,条件查询两部组成。这些都将在以后的章节详细介绍,首先请看主页面图,如图所示,对这个系统有一个初步的感官认识。
系统结构
在本例中采用了三层结构,分别由Struts2实现Web表现层、Spring实现业务层、Hibernate来实现数据访问层。分层是一个很重要的设计方法,使结构更加清晰,在每层中只集中解决特定的问题,有利于发挥不同框架的作用。本例中结构图如图所示。
分层的另一个好处是可以剪断层与层之间的耦合关系,修改某一层中的实现不会影响到其他层。
所需资源
虽然这个实例不大,但包含的内容相当的全面:数据库、OR工具、J2ee服务器、模板引擎,从这个意义上说它不次于一个中等规模的项目
(1)数据库仍然采用Mysql数据库,对于MySQL数据库的安装和使用请参考“Hibernate入门”一章中有详细介绍。
(2)JSP服务器还是采用Tomcat服务器。对于MySQL数据库的安装和使用请参考“Struts入门”一章中有详细介绍。
(3)引入资源。在MyEclipse中创建一个Web Project。在右键菜单中给这个Project增加Hibernate和Spring特性。前文已经介绍过,MyEclipse还没有对Struts2支持,这里需要手工添加Struts2的资源包。最后需要的资源如图所示。
源代码目录组织
在进行程序设计和开发之前,要设计目录和包的结构。良好的结构会使代码逻辑清楚且容易阅读。一般一个设计良好的结构都有其共同的特点,就是逻辑清楚。。在这个目录结构中,end是项目的根目录也是项目的名称。其下src目录用于存放原文件,所有的Java 类都定义在这个文件夹下。
WebRoot目录在创建Web工程自动生成的目录,在发布时这个目录将被直接发布到应用服务器中。其下放置JSP 页面,WEB-INF 目录下存放系统的配置文件,。
对于一个Web系统来说,。,而且要完成Struts与Spring的整合工作,使Spring可以通过web路径获得Spring的上下文(applicationContext)
添加Struts2配置
在Struts2一篇中曾经有过详细介绍,在Struts2中是采用过滤器(filter)来实现Struts加载的代码如:
<filter>
<filter-name>struts2</filter-name>
<filter-.</filter-class>
<init-param>
<param-name>config</param-name>
<param-value>
struts-,,,
</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
添加Spring配置
整合Sprin