APP下载

基于Struts与Hibernate框架的儿童读经网站构建

2016-03-08

湖南科技学院学报 2016年5期
关键词:读经后台逻辑

万 李 胡 晓



基于Struts与Hibernate框架的儿童读经网站构建

万李胡晓

(湖南科技学院 电子与信息工程学院,湖南 永州 425199)

互联网时代构建儿童读经网站,弥补了传统儿童读经学习方式单一、内容枯燥、针对性不强等不足,对儿童读经取得实效起到了很大帮助。本系统使用可视化编程语言编写,采用MVC设计模型,Struts和Hibernate框架技术整合开发,所构建的儿童读经网站兼容性高,可维护性好,有利于儿童读经的开展。

儿童读经网站;Struts框架;Hibernate框架

1 引 言

儿童读经成为了越来越热门的话题,它不仅有利于传统文化的传播与发扬,也是孩子成长的助推器。在互联网飞速发展、上网普及率越来越高、科技日新月异的今天,许多研究者已不仅仅满足于儿童读经理论上的探索与实践,他们把视角从身边的实体转向了虚拟的网络。他们充分认识到:在科技发展的引领下,建立儿童读经网站,占领网络阵地,是进一步宣传儿童读经重要性、加强指导儿童读经教育和巩固儿童读经效果的必然趋势。在此基础上,互联网顺势而导,开设了许多以“读经”、“读史”等传播传统文化的专门网站,如家国网(jguo.cn)、中华经典网(www.zhjd.org)等,也有很多网站开设了与传统文化相关的专栏,其中包括点击率和影响较高的新浪网、搜狐网等。但儿童读经网站的构建与实现并没有跟上理论研究的步伐,这些网站也呈现出针对性不强、内容选择盲目、形式单一等特点,远远没有达到预期的效果,很少有研究者从传统文化的角度来探讨儿童读经网站的技术构建与实现,也鲜有网站从传统文化的视野,以少年儿童为主角,为他们量身打造“读经”网站[1]。

2 网站的内容设定

在读经的过程中,有选择性地读比“盲读”更加有效,有甄别地读比随波逐流更加有效,有理解性地读比囫囵吞枣更加有效。为构建内容新颖、形式多样、针对性强的儿童读经网站,网站内容设定为四个版块,版块命名以重点突出“我”的主体地体,注重儿童自主意识的培养,从主观上增强儿童读经的自信心与兴趣,分为“我是主角”、“我的参与”、“我来分享”、“我的空间”,具体包括图书推荐、卡通视频、录音资料、有声阅读、趣味游戏、漫画读经、自我测试等。同一版块里又根据年龄不同予以划分,如学龄前、小学、中学。

(1)“我是主角”版块:以儿童的角度阐释“我”对读经的看法,关于儿童读经,研究者们仁者见仁,智者见智,有的对其给予了充分肯定,有的则对其指责批判,通过简单的评论、儿童喜闻乐见的形式展示儿童为什么要读经?要读什么样的经?要怎样读经?以及家长、老师在不同年龄阶段儿童读经过程中充当的角色;“我”推荐的适合儿童的经学内容,包括卡通视频、图书推荐、趣味游戏、读经漫画等内容;“我”身边的经学,从生活中的简章、与儿童息息相关的小事体现经学的内涵以及教会儿童的为人处事的道理。

(2)“我的参与”版块:主要分为三个方面来展示:一是全国各地儿童读经活动的情况,摘取其中效果好的例子,让不能亲身参与其中的儿童通过网站感同身受;二是展示儿童参与读经活动的情况,包括参与读经的图片、活动、主题以及参加后的感受等;三是展示儿童、家长、老师的来信、来电、来稿、在线留言等。

(3)“我来分享”版块:此个版块主要通过有声的形式展示儿童、家长及老师有关读经的情况,如语音、视频、动画等。

(4)“我的空间”版块:此版块为儿童、家长或老师在访问网站时的“个人地带”,类似QQ空间、微博等,访问者需通过网站注册才能实现,来访者注册成功后,可以在各自的空间上传资料、记录文字、书写感受、上传音乐视频等,同时注册者可对访问“我的空间”的人员进行设置。

(5)其它:为网站设置不同的语言版本,如中文繁体、英语、法语、韩语、德语等,满足不同的使用者的需求,既让传统文化与时代接轨,也是推动中国传统国际化的一种方式。同时还可设置一些交互性栏目,如BBS论坛、网站QQ群等,增加网站的点击率,培养网站的踏实用户,还是听取使用者对网站意见和建议有有效方式[2]。

3 网站的技术构建

3.1基于MVC设计模式的 Struts框架

儿童读经网站采用MVC(Model View Controller)模型。利用DAO层接口和POJO类来完成Model层的搭建;采用JSP实现View层,可以在浏览器页面展示儿童读经网站所有要实现的功能;通过Struts框架对实现功能进行处理,并在浏览器页面返回处理过的信息;利用Hibernate框架与读经网站数据库进行交互,通过DateSource接口创建一个数据库连接,可以对数据库后台进行操作[3]。在与数据库连接的过程中,需要知道数据库的配置信息,这些配置信息在配置DateSource接口时可以获取。采用MVC三层架构设计儿童读经网站,大大减省开发代码的时间,增强系统的兼容性和可维护性,具体模型的调用由控制器所接收的用户请求来决定,所返回的数据由相应的业务逻辑处理,最后通过调用相应的视图来格式化模型,并在浏览器页面展现给用户。

3.2 Hibernate框架

儿童读经网站采用Struts和Hibernate框架的整合策略。Hibernate读取网站的配置文件,里面包含数据库的连接驱动、用户名等信息,网站中使用的是MySQL数据库,所以设置属性值为org.hibernate.dialect.MySQLDialect。使用资源文件配置Hibernate时,将属性名称作为key值,属性值作为value值。在MyEclipse中可以将其直接放置在src根目录下,Hibernate配置文件信息如下:

hibernate.connection.url=jdbc:mysql://localhost:3306/bookweb

hibernate.connection.username=root

hibernate.connection.password=admin

hibernate.connection..dirver_class=com.mysql.jdbc.Driver

hibernate.dialect=org.hibernate.dialect.MySQLDialect

hibernate.show_sql=true

儿童读经网站中,对于实体类以及映射文件的开发,首先创建一个book表,添加一个实体类Book来与其对应,同时还添加实体类的映射文件Book.hbm.xml[4]。其数据访问层包含3个组成部分,分别是DAO接口、DAO实现类以及DAO工厂类。网站中定义了DAO接口BookDAO,在该接口中定义了3个方法,分别用来添加书籍、查询书籍以及删除书籍。可以定义一个业务逻辑组建接口,在该接口中声明所有的业务逻辑方法[5]。比如:

public interface BookService{

public Boolean inputBook(Book book);

public List show AllBook();

}

该代码为业务逻辑组建接口,在该接口中声明了两个业务逻辑方法。inputBook方法用来完成网站书籍的录入,showAllBook方法用来显示所有网站书籍,它能实现所有的业务逻辑方法[5]。代码如下:

public class BookServiceImpl implements BookService{

private BookDAO bookDAO = BookDAOFactory.getBookDAOInstance();

public Boolean inputBook(BOOK book){

Book oldBook = bookDAO.findByBookNo(book.getBookNo());

if(oldBook != null){

return false;

} else {

bookDAO.saveBook(book);

return true;

}

}

public ListshowAllBook(){

return bookDAO.findAllBook();

}

}

代码中声明了一个BookDAO类型的属性bookDAO,并通过BookDAOFactory的getBookDAOInstance方法为其属性赋值,通过inputBook方法来实现网站书籍录入,通过业务逻辑方法showAllBook返回一个业务逻辑组件实现类的实例对象。

4 基于Struts+Hibernate的儿童读经网站的设计与实现

4.1程序代码的实现

系统采用了singleton单例模式简化了代码的书写量,这不仅可以节省内存空间时,且有利于垃圾回收,提高运行效率。同时,在安全性方面,系统采用了延迟登陆技术。

(1)装配数据访问层

通过Spring来装配数据访问层,从而使得数据访问层由Spring的IoC容器来进行管理。在项目的WEB-INF目录下,添加一个Spring的配置文件applicationContext.xml。通过在该文件中配置数据访问层,从而完成数据访问层的装配。

(2)装配业务逻辑层

业务逻辑层负责网站中所有的业务逻辑,为了在装配业务逻辑层时可以注入数据访问层,一般的做法是修改业务逻辑组件实现类,并添加setter和getter方法作为数据访问层接口。在业务逻辑层中可以调用数据访问层的方法,代码如下:

public class BookServiceImpl implements BookService{

private BookDAO bookDAO;

public BookDAO getBookDAO(){

return bookDAO;

}

public void setBookDAO(BookDAO bookDAO){

this.bookDAO = bookDAO;

}

}

代码中声明了一个BookDAO类型的属性bookDAO,通过该属性就可以调用bookDAO中的方法。getter方法可以获得bookDAO实例对象,setter方法可以为bookDAO属性注入实例对象。修改完业务逻辑层代码,就可以装配该业务逻辑层,并为该业务逻辑层注入数据访问层实例对象。

(3)装配业务控制器

业务控制器负责儿童读经网站中所有的业务控制,为了在装配业务控制器时可以为其注入业务逻辑层,一般的做法是在Spring中进行装配,并为其注入业务逻辑层实例对象,并添加setter和getter方法作为业务逻辑层接口。在业务控制器中可以调用业务逻辑层中的方法,代码如下:

public class BookInputAction extends ActionSupport{

private BookService bookService;

public BookSERVICE getBookService(){

return bookService;

}

public void setBookService(BookService bookService){

this.bookService = bookService;

}

}

4.2数据库设计的实现

网站包括12大模块,在数据库中共创建了12张表。由于表的数量较多,关系复杂,所以采用ORM映射的方式,系统可以自动创建表,不需人工创建,在系统移植时减轻了人工建表带来的麻烦以及可能出现的错误。数据库互连采用Hibernate框架,轻量级封装JDBC,能对数据库进行增删改查CRUD级联,虽未使用Spring简化对象的创建和对象之间关系的装配,但获得对象时可以使用BeanFactory。

(1)后台信息管理模块

后台图书信息管理模块用于确保网站中商品信息的时效性,提供一个商品信息后台维护管理模块。该功能模块具体提供一些子功能,比如添加新读书。如果网站有新的读书想要上架,在添加读书详细信息后,点击“添加”按钮,即可完成添加操作。而默认的新读书添加到下架读书列表,如果想要在前台页面上显示出该读书,需要对读书进行上架操作,才能使得读书上架成功。另外,还可以对读书信息进行修改和下架读书的删除操作。

(2)后台评价管理模块

后台评价模块是管理员对网站内容评价的管理,可以根据图书的信息按条件查询图书评价信息。得到评价后,如果有不满意的评价信息,管理员可以将其删除。因此,此模块具体提供2个子功能:根据条件查询相应产品的评价、对较差评价删除操作。

(3)后台新闻管理模块

后台新闻管理就是网站可以发布一些新闻信息,包括最新亲子活动,最新图书上架信息等,给前台浏览用户预览,吸引更多儿童参与其中。该功能模块具体包括3个子功能:添加新闻、删除新闻、修改新闻。

(4)后台留言管理模块

后台留言管理就是网站用户会员可以在前台给网站留言,后台管理人员会查看并对留言信息进行处理操作。具体包括2个子功能:查询新留言和查询以往留言。当管理员查看过新留言信息后,留言的状态就由“未查看”变为“已查看”,说明该留言已处理完毕。

(5)后台系统管理模块

该功能模块具体包括3个子功能:第一,系统管理。即对系统数据表进行处理,可以修改字典表的字段信息,也可以删除或添加字典表信息。第二,角色管理。后台管理系统分为三个角色:超级管理员、中级管理员和普通管理员。超级管理员拥有所有后台管理权限,超级管理员可以更改中级管理员和普通管理的权限即为第三个功能。针对后台所有管理模块,高级管理员可以更改中级和普通管理员的操作权限。

4.3可维护性的实现

(1)采用MVC模式开发:系统采用MVC的开发模式,将业务逻辑代码写在模型层(M),将流程控制代码写在控制层(C),将客户端页面显示代码写在显示层(V);通过采用分层架构的方式,在降藕的同时,也给系统设计和编写带来了很大方便,同时三层架构的系统设计也大大增加了系统的可维护性;

(2)采用Struts架构做总体流程控制,将业务逻辑代码隔离出到java类,使系统维护更加方便。同时本系统将处理不同的页面请求的源代码方法写在同一个action里,并针对不同的角色进行分门别类,提高系统的规范性,使其有条不紊。当需要进行修改时可以很快找到对应的action,提高系统的可维护性。

(3)系统适用不同的数据库,将连接数据库的驱动等写在一个配置文件里。配置文件的使用使系统在数据库的适应性方面得到增强,连接不同的数据库时,只需要在此配置文件里进行修改。该系统充分体现了配置文件给系统带来的好处,使系统的可移植性得到大大提高,无论是在Linux系统还是在Windows系统下都适用。

5 网站建设的阶段目标

网站的构建与实现是一个复杂而精细的过程,可分为前期调研、中期建设和后期维护三个阶段:

(1)前期调研:包括做好网站的定位分析、内容差异化、页面沟通等。应着重注意以下几点:如何针对不同年龄、不同地域、不同家庭环境的儿童开展读经教育?如何选取有价值、有吸引力、有代表性的内容?如何设计网站的模块,使之有别于其它“读经”网站?怎样处理网络“读经”与传统“读经”、有声读经与无声读经、文字读经与图像读经的关系?

(2)中期建设:包括做好网站的域名注册、网站策划、网页设计、功能定位、技术优化、内容整理、运营推广等。从“网站选定”、“自主选择”、“个人空间”等方面对儿童读经网站进行理论构建,从网站首页设计、页面图片选取等方面设计网站识别形象,从网站点击率、儿童喜爱程度、家长老师评价等方面分析网站价值,使之有别于国学机等以固定机器为载体的限量范畴,有别于卡通视频等单一学习形式,建立综合书籍、视频、录音、游戏等为一体的综合学习网站。

(3)后期维护:主要做好后期的更新维护、整体优化和评估改版等工作。

(4)网站的宣传战略:从传播的要素、过程、途径进行分析,运用恰切的载体做适度的宣传,力争用最少的资金获得最大的宣传效果。

6结束语

利用Struts和Hibernate框架技术整合开发的儿童读经网站,兼容性高、可维护性好。为发扬和传播传统文化提供了一种有效形式,对儿童读经取得实效起到了很大帮助。

[1]刘铭徽.基于Struts与Hibernate框架的图书管理系统研究与设计[J].安徽大学学报(自然科学版),2009,(3):36-38.

[2]黄柳萍.基于WEB与WAP技术的农业信息网站设计与实现[J].福建电脑,2014,(7):20-21.

[3]刘琳玲.基于Struts与Hibernate框架在医药管理系统中的应用[J].黑龙江科技信息,2014,(12):113.

[4]陈二祥.基于Struts与Hibernate框架的高校人事档案管理系统设计与实现[J].电子技术,2008,(6):24-26.

[5]古乐声,卜炟.Java Web程序设计与项目实践[M].北京:电子工业出版社,2011.

(责任编校:何俊华)

2016-02-07

湖南省情与决策咨询研究课题“儿童读经网站的技术构建与实现”(项目编号2015BZZ037);湖南省“十二五”教育科学规划课题“亲子共读影响儿童价值导向的实证研究”(项目编号XJK014CJC002)。

万李(1983-),男,湖北洪湖人,讲师,硕士,研究方向为网络与多媒体。胡晓(1984-),女,湖南长沙人,研究实习员,硕士,研究方向为学前教育。

G633.67

A

1673-2219(2016)05-0095-03

猜你喜欢

读经后台逻辑
刑事印证证明准确达成的逻辑反思
唐文治读经救国论的思想历程与发生机缘
逻辑
创新的逻辑
材料作文“读经热潮”讲评
Wu Fenghua:Yueju Opera Artist
后台暗恋
女人买买买的神逻辑
生查子
再看读经:科学读经 品味经典