摘要:随着网络技术的迅速发展和J2EE平台的广泛应用,基于B/S的多层WEB体系结构正在不断的完善。WEB技术的发展推动了信息化的发展,使人们能够不再受地理空间的限制与其他人进行信息的交流与共享。而开发这样一个信息交流平台,正是本论文要着手处理的问题。
其实,就算用Java建造一个不是很烦琐的web应用程序,也不是件轻松的事情。当为一个应用程序建造一个构架时有许多事情需要考虑。从高层来说,开发者需要考虑:怎样建立用户接口(user interfaces)? 在哪里处理业务逻辑?和怎样持久化应用数据。这三层每一层都有它们各自的问题需要回答。各个层次应该使用什么技术?怎样才能把应用程序设计得松耦合和能灵活改变? 构架允许层的替换不会影响到其它层吗?应用程序怎样处理容器级的服务(container level services),比如事务处理(transactions)?
本论文正是基于上述问题出发,以开发一个信息交流平台系统为背景,对基于MVC模式的Struts框架、Hibernate的ORM机制和对持久对象持久化的管理以及Spring IoC(控制反转)技术进行了探讨。并整合这三种框架:表现层使用Struts;业务层使用Spring;持久层使用Hibernate进行系统的开发。最后结合具体的事例对系统的实现作了详细的说明,验证了实现方法的可行性。
关键词:J2EE Struts Hibernate Spring 模式 框架
Abstract :With the rapid development of network technology and the wide use of J2EE platform, the multilayer web structure base on B/S has developed gradually. WEB technique’s development has promoted the development of informationization, it has made people can communicate and share information without area and space limitation. However, developing such kind of information communication platform is just the case in this thesis.
Building non-trivial web applications with Java is no trivial task. There are many things to consider when structuring architecture to house an application. From a high-level, developers are faced with decisions about how they are going to construct user interfaces, where the business logic will reside, and how to persist application data. Each of these three layers has their own questions to be answered. What technologies should be implemented across each layer? How can the application be designed so that it is loosely coupled and flexible to change? Does the architecture allow layers to be replaced without affecting other layers? How will the application handle container level services such as transactions?
This thesis is just base on these questions, taking an information communication platform system development as background, based on MVC architecture, discussed Struts frame, Hibernator’s ORM mechanism, persistent management of persistent object and Spring IoC technique and combining frameworks using three popular open source frameworks: For the presentation layer we will use Struts; for our business layer we will use Spring; and for our persistence layer we will use Hibernate to developing this system. At the end of the thesis, illustrate the way of realizing the system by an instance, and validate its feasibility.
Key words:J2EE Struts Hibernate Spring Pattern Framework
第一章 引言
1.1研究目的和意义
从来没有任何事物的发展像互联网那样,对人类的活动产生如此深刻的影响。人们越来越依赖于Internet进行信息的交流与共享。随着网络的飞速发展,信息交流平台在网络上扮演角色越来越重要了。信息交流平台从她诞生的那一刻起就带有十分明确的个性化的人文色彩,作为一种远程电子通讯手段,信息交流平台允许一定范围内的用户以十分廉价的方式,方便快捷地进行信息和文件资源的共享,以信件和电子讨论的形式进行交流。毫不夸张的说,信息交流平台是网民互动沟通的最佳纽带,是互联网的灵魂。
信息交流平台已成为主流网民不可缺少的一项基本生活内容。它在新兴的电子文化、信息咨询和商业服务领域也势必蕴藏巨大的市场。比如信息交流平台提供的信息布告区可为企业发布它的产品介绍、推广、宣传、服务等信息,能把企业的新产品快速的推向市场。
所以对信息交流平台的研究是完全有必要的。J2EE 是 Sun ONE 的重量级产品,作为一种企业级 Web 应用程序开发技术,J2EE 是目前唯一在市场上得到了广泛应用的技术体系。J2EE 以 Java 为核心技术,更接近或者满足于互联网在智能化 Web 服务上对分布性、开放性和平台无关性的要求,同时它在安全性、健壮性、组件化等方面也更为成熟稳定,获得了众多IT 厂商如 IBM、Oracle、BEA 等共同制定标准并提供技术支持,因此具有强大的功能,是电子商务、远程教育等开发的首选平台。但是,即使我们用先进的J2EE来开发Web应用,也面临着许多问题需要考虑:怎样建立用户接口(user interfaces)?在哪里处理业务逻辑和怎样持久化应用数据?Struts、Spring、Hibernate这三个基于WEB应用开发的开源框架,可以为我们解决这些问题。如何把一个WEB应用分层而整合Struts、Spring、Hibernate技术,尽可能的将页面显示、业务逻辑和数据处理相分离,最大限度地降低系统各模块之间的耦合性,从而增强系统的可扩展性与可维护性,提高代码重用率,使系统的层次结构更加清晰,易于开发人员的分工协作,充分发挥开发人员的各自特长,这是一个值得研究探讨的问题。