论文导读:MVC开发模式和基于MVC模式的Struts2框架的应用,研究Struts2如何最大限度的减少与ServletAPI的耦合,从而使得单元测试工作变得更加容易。对典型持久层框架的研究。而是在另一个赫赫有名的框架:WebWork基础上发展起来的。Hibernate是一个开放源代码的对象关系映射框架。并通过实例BBS系统对数据库持久层技术进行研究。
关键词:JAVAEE,Struts2,Hibernate,框架,Web,BBS
1. 引言
MVC开发模式和基于MVC模式的Struts 2框架的应用,研究Struts2如何最大限度的减少与Servlet API的耦合,从而使得单元测试工作变得更加容易。数据库持久层技术的研究,对典型持久层框架的研究,重点研究如何将底层数据库对象化。论文参考。
2. 技术简介
2.1 Html语言
HTML(HyperTextMark-upLanguage)即超文本标记语言,是WWW的描述语言。本系统将使用HTML来做web页面的显示。
2.2 JavaScript
JavaScript 使网页增加互动性。论文参考。JavaScript 使有规律地重复的HTML文段简化,减少下载时间。JavaScript 能及时响应用户的操作,对提交表单做即时的检查,无需浪费时间交由CGI 验证。本系统主要利用JavaScript做表单的验证。
2.3 Struts2
Struts 2 与Struts 1相比,有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。WebWork衍生出了Struts2,而不是Struts 1衍生了Struts2。因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证:而且吸收了Struts 1和WebWork两者的优势,因此,是一个非常值得期待的框架。
2.4 Hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。论文参考。
2.5 Spring
Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
3. 概要设计
3.1 系统功能介绍和模块介绍
系统包括主要的功能:新用户的注册,会员登录,用户自己修改信息,管理员删除用户,游客浏览留言,会员新增留言,会员留言回复,管理员删除留言,管理员新增和删除板块等功能。
系统管理员通过帐户密码验证后登录论坛管理系统,进行相应的后台管理如用户管理,讨论区管理和文章管理。用户通过帐户密码验证登录论坛服务系统后,能够在论坛内发表文章,回复文章,查询文章,浏览文章等。而讨论区管理员相对一般用户则应该能够进行相应的讨论区管理,比如删除文章,封锁用户ID等等。所以系统要实现下面四个模块的功能:用户注册登录功能, 会员发帖回复功能, 版主管理帖子功能,管理员管理论坛。
3.2 各模块详细功能
3.2.1 系统整体流程图如图1所示。
图1系统整体流程图
3.2.2 用户流程图流程图如图2所示。
图2 用户流程图
4. 详细设计
(1) 数据库持久层架构
①设计持久化对象:(PO)
Admin:管理论坛,添加模块,删除模块,授权用户,删除用户
User: 发帖,回帖,查看帖子,版主可以删除帖子和用户
Topic:论坛帖子
Reply:用户回帖
Board: 子版块的信息
ParentBoard :父版块的信息
Collect:用户收藏的帖子
②根据持久化对象之间的关系建立对象模型;
③根据持久化类之间的关系建立Hibernate对应的映射关系;
④根据Hibernate映射关系生成数据库
(2) 实现Dao层
①配置数据源,使用dbcp数据源,使用MySQL数据库,在Spring容器中进行配置
<bean id='dataSource'
class='org.apache.commons.dbcp.BasicDataSource'>
<propertyname='driverClassName'
value='com.mysql.jdbc.Driver'>
</property>
<propertyname='url' value='jdbc:mysql://localhost:3306/bbs'></property>
<propertyname='username' value='root'></property>
<propertyname='password' value='123'></property>
</bean>
② 配置SessionFactory对象,将Hibernate的映射文件注入
③配置Dao组件,将Dao层注入Spring容器管理
(3) 实现控制层和web层
Struts2 作为MVC框架连接模型层和web视图层,将Struts2的ACTION注入Spring容器管理
Web层由jsp技术实现,web.xml文件配置见具体代码。
结束语
本文利用现有的Web框架技术实现Struts框架、Spring框架和hibernate框架集成,提出基于JavaEE多层框架解决方案。并通过实例BBS系统对数据库持久层技术进行研究。实现了关系型数据库的对象化和面向对象软件的设计开发。
参考文献
[1] 李刚. 轻量级JavaEE企业应用实战(第二版) [M].北京:电子工业出版社,2009
[2] 李刚. Struts 2权威指南 [M].北京:电子工业出版社,2008.
[3] 郭晓华. JSP应用开发详解(第三版) [M].北京:电子工业出版社,2007.
[4] 付周京. 精通Hibernate3.0-Java数据库持久层开发实践 [M]北京:人民邮电出版社,2007.
[5] Ryan Asleson,Nathaniel T.Schutta.金灵译. Ajax基础教程 [M]北京:人民邮电出版社2006.
[6] 李刚. 轻量级JavaEE企业应用实战(第一版) [M].北京:电子工业出版社,2008
[7] 张钰. 精通Spring 2.x Java Web开发 [M].北京:电子工业出版社,2008
[8] 刘斌. NetBeans权威指南 [M].北京:电子工业出版社,2008
|