萬 李 胡 曉
?
基于Struts與Hibernate框架的兒童讀經(jīng)網(wǎng)站構(gòu)建
萬李胡曉
(湖南科技學院 電子與信息工程學院,湖南 永州 425199)
互聯(lián)網(wǎng)時代構(gòu)建兒童讀經(jīng)網(wǎng)站,彌補了傳統(tǒng)兒童讀經(jīng)學習方式單一、內(nèi)容枯燥、針對性不強等不足,對兒童讀經(jīng)取得實效起到了很大幫助。本系統(tǒng)使用可視化編程語言編寫,采用MVC設計模型,Struts和Hibernate框架技術(shù)整合開發(fā),所構(gòu)建的兒童讀經(jīng)網(wǎng)站兼容性高,可維護性好,有利于兒童讀經(jīng)的開展。
兒童讀經(jīng)網(wǎng)站;Struts框架;Hibernate框架
兒童讀經(jīng)成為了越來越熱門的話題,它不僅有利于傳統(tǒng)文化的傳播與發(fā)揚,也是孩子成長的助推器。在互聯(lián)網(wǎng)飛速發(fā)展、上網(wǎng)普及率越來越高、科技日新月異的今天,許多研究者已不僅僅滿足于兒童讀經(jīng)理論上的探索與實踐,他們把視角從身邊的實體轉(zhuǎn)向了虛擬的網(wǎng)絡。他們充分認識到:在科技發(fā)展的引領(lǐng)下,建立兒童讀經(jīng)網(wǎng)站,占領(lǐng)網(wǎng)絡陣地,是進一步宣傳兒童讀經(jīng)重要性、加強指導兒童讀經(jīng)教育和鞏固兒童讀經(jīng)效果的必然趨勢。在此基礎上,互聯(lián)網(wǎng)順勢而導,開設了許多以“讀經(jīng)”、“讀史”等傳播傳統(tǒng)文化的專門網(wǎng)站,如家國網(wǎng)(jguo.cn)、中華經(jīng)典網(wǎng)(www.zhjd.org)等,也有很多網(wǎng)站開設了與傳統(tǒng)文化相關(guān)的專欄,其中包括點擊率和影響較高的新浪網(wǎng)、搜狐網(wǎng)等。但兒童讀經(jīng)網(wǎng)站的構(gòu)建與實現(xiàn)并沒有跟上理論研究的步伐,這些網(wǎng)站也呈現(xiàn)出針對性不強、內(nèi)容選擇盲目、形式單一等特點,遠遠沒有達到預期的效果,很少有研究者從傳統(tǒng)文化的角度來探討兒童讀經(jīng)網(wǎng)站的技術(shù)構(gòu)建與實現(xiàn),也鮮有網(wǎng)站從傳統(tǒng)文化的視野,以少年兒童為主角,為他們量身打造“讀經(jīng)”網(wǎng)站[1]。
在讀經(jīng)的過程中,有選擇性地讀比“盲讀”更加有效,有甄別地讀比隨波逐流更加有效,有理解性地讀比囫圇吞棗更加有效。為構(gòu)建內(nèi)容新穎、形式多樣、針對性強的兒童讀經(jīng)網(wǎng)站,網(wǎng)站內(nèi)容設定為四個版塊,版塊命名以重點突出“我”的主體地體,注重兒童自主意識的培養(yǎng),從主觀上增強兒童讀經(jīng)的自信心與興趣,分為“我是主角”、“我的參與”、“我來分享”、“我的空間”,具體包括圖書推薦、卡通視頻、錄音資料、有聲閱讀、趣味游戲、漫畫讀經(jīng)、自我測試等。同一版塊里又根據(jù)年齡不同予以劃分,如學齡前、小學、中學。
(1)“我是主角”版塊:以兒童的角度闡釋“我”對讀經(jīng)的看法,關(guān)于兒童讀經(jīng),研究者們?nèi)收咭娙?,智者見智,有的對其給予了充分肯定,有的則對其指責批判,通過簡單的評論、兒童喜聞樂見的形式展示兒童為什么要讀經(jīng)?要讀什么樣的經(jīng)?要怎樣讀經(jīng)?以及家長、老師在不同年齡階段兒童讀經(jīng)過程中充當?shù)慕巧?;“我”推薦的適合兒童的經(jīng)學內(nèi)容,包括卡通視頻、圖書推薦、趣味游戲、讀經(jīng)漫畫等內(nèi)容;“我”身邊的經(jīng)學,從生活中的簡章、與兒童息息相關(guān)的小事體現(xiàn)經(jīng)學的內(nèi)涵以及教會兒童的為人處事的道理。
(2)“我的參與”版塊:主要分為三個方面來展示:一是全國各地兒童讀經(jīng)活動的情況,摘取其中效果好的例子,讓不能親身參與其中的兒童通過網(wǎng)站感同身受;二是展示兒童參與讀經(jīng)活動的情況,包括參與讀經(jīng)的圖片、活動、主題以及參加后的感受等;三是展示兒童、家長、老師的來信、來電、來稿、在線留言等。
(3)“我來分享”版塊:此個版塊主要通過有聲的形式展示兒童、家長及老師有關(guān)讀經(jīng)的情況,如語音、視頻、動畫等。
(4)“我的空間”版塊:此版塊為兒童、家長或老師在訪問網(wǎng)站時的“個人地帶”,類似QQ空間、微博等,訪問者需通過網(wǎng)站注冊才能實現(xiàn),來訪者注冊成功后,可以在各自的空間上傳資料、記錄文字、書寫感受、上傳音樂視頻等,同時注冊者可對訪問“我的空間”的人員進行設置。
(5)其它:為網(wǎng)站設置不同的語言版本,如中文繁體、英語、法語、韓語、德語等,滿足不同的使用者的需求,既讓傳統(tǒng)文化與時代接軌,也是推動中國傳統(tǒng)國際化的一種方式。同時還可設置一些交互性欄目,如BBS論壇、網(wǎng)站QQ群等,增加網(wǎng)站的點擊率,培養(yǎng)網(wǎng)站的踏實用戶,還是聽取使用者對網(wǎng)站意見和建議有有效方式[2]。
3.1基于MVC設計模式的 Struts框架
兒童讀經(jīng)網(wǎng)站采用MVC(Model View Controller)模型。利用DAO層接口和POJO類來完成Model層的搭建;采用JSP實現(xiàn)View層,可以在瀏覽器頁面展示兒童讀經(jīng)網(wǎng)站所有要實現(xiàn)的功能;通過Struts框架對實現(xiàn)功能進行處理,并在瀏覽器頁面返回處理過的信息;利用Hibernate框架與讀經(jīng)網(wǎng)站數(shù)據(jù)庫進行交互,通過DateSource接口創(chuàng)建一個數(shù)據(jù)庫連接,可以對數(shù)據(jù)庫后臺進行操作[3]。在與數(shù)據(jù)庫連接的過程中,需要知道數(shù)據(jù)庫的配置信息,這些配置信息在配置DateSource接口時可以獲取。采用MVC三層架構(gòu)設計兒童讀經(jīng)網(wǎng)站,大大減省開發(fā)代碼的時間,增強系統(tǒng)的兼容性和可維護性,具體模型的調(diào)用由控制器所接收的用戶請求來決定,所返回的數(shù)據(jù)由相應的業(yè)務邏輯處理,最后通過調(diào)用相應的視圖來格式化模型,并在瀏覽器頁面展現(xiàn)給用戶。
3.2 Hibernate框架
兒童讀經(jīng)網(wǎng)站采用Struts和Hibernate框架的整合策略。Hibernate讀取網(wǎng)站的配置文件,里面包含數(shù)據(jù)庫的連接驅(qū)動、用戶名等信息,網(wǎng)站中使用的是MySQL數(shù)據(jù)庫,所以設置屬性值為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
兒童讀經(jīng)網(wǎng)站中,對于實體類以及映射文件的開發(fā),首先創(chuàng)建一個book表,添加一個實體類Book來與其對應,同時還添加實體類的映射文件Book.hbm.xml[4]。其數(shù)據(jù)訪問層包含3個組成部分,分別是DAO接口、DAO實現(xiàn)類以及DAO工廠類。網(wǎng)站中定義了DAO接口BookDAO,在該接口中定義了3個方法,分別用來添加書籍、查詢書籍以及刪除書籍??梢远x一個業(yè)務邏輯組建接口,在該接口中聲明所有的業(yè)務邏輯方法[5]。比如:
public interface BookService{
public Boolean inputBook(Book book);
public List
}
該代碼為業(yè)務邏輯組建接口,在該接口中聲明了兩個業(yè)務邏輯方法。inputBook方法用來完成網(wǎng)站書籍的錄入,showAllBook方法用來顯示所有網(wǎng)站書籍,它能實現(xiàn)所有的業(yè)務邏輯方法[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 List
return bookDAO.findAllBook();
}
}
代碼中聲明了一個BookDAO類型的屬性bookDAO,并通過BookDAOFactory的getBookDAOInstance方法為其屬性賦值,通過inputBook方法來實現(xiàn)網(wǎng)站書籍錄入,通過業(yè)務邏輯方法showAllBook返回一個業(yè)務邏輯組件實現(xiàn)類的實例對象。
4.1程序代碼的實現(xiàn)
系統(tǒng)采用了singleton單例模式簡化了代碼的書寫量,這不僅可以節(jié)省內(nèi)存空間時,且有利于垃圾回收,提高運行效率。同時,在安全性方面,系統(tǒng)采用了延遲登陸技術(shù)。
(1)裝配數(shù)據(jù)訪問層
通過Spring來裝配數(shù)據(jù)訪問層,從而使得數(shù)據(jù)訪問層由Spring的IoC容器來進行管理。在項目的WEB-INF目錄下,添加一個Spring的配置文件applicationContext.xml。通過在該文件中配置數(shù)據(jù)訪問層,從而完成數(shù)據(jù)訪問層的裝配。
(2)裝配業(yè)務邏輯層
業(yè)務邏輯層負責網(wǎng)站中所有的業(yè)務邏輯,為了在裝配業(yè)務邏輯層時可以注入數(shù)據(jù)訪問層,一般的做法是修改業(yè)務邏輯組件實現(xiàn)類,并添加setter和getter方法作為數(shù)據(jù)訪問層接口。在業(yè)務邏輯層中可以調(diào)用數(shù)據(jù)訪問層的方法,代碼如下:
public class BookServiceImpl implements BookService{
private BookDAO bookDAO;
public BookDAO getBookDAO(){
return bookDAO;
}
public void setBookDAO(BookDAO bookDAO){
this.bookDAO = bookDAO;
}
}
代碼中聲明了一個BookDAO類型的屬性bookDAO,通過該屬性就可以調(diào)用bookDAO中的方法。getter方法可以獲得bookDAO實例對象,setter方法可以為bookDAO屬性注入實例對象。修改完業(yè)務邏輯層代碼,就可以裝配該業(yè)務邏輯層,并為該業(yè)務邏輯層注入數(shù)據(jù)訪問層實例對象。
(3)裝配業(yè)務控制器
業(yè)務控制器負責兒童讀經(jīng)網(wǎng)站中所有的業(yè)務控制,為了在裝配業(yè)務控制器時可以為其注入業(yè)務邏輯層,一般的做法是在Spring中進行裝配,并為其注入業(yè)務邏輯層實例對象,并添加setter和getter方法作為業(yè)務邏輯層接口。在業(yè)務控制器中可以調(diào)用業(yè)務邏輯層中的方法,代碼如下:
public class BookInputAction extends ActionSupport{
private BookService bookService;
public BookSERVICE getBookService(){
return bookService;
}
public void setBookService(BookService bookService){
this.bookService = bookService;
}
}
4.2數(shù)據(jù)庫設計的實現(xiàn)
網(wǎng)站包括12大模塊,在數(shù)據(jù)庫中共創(chuàng)建了12張表。由于表的數(shù)量較多,關(guān)系復雜,所以采用ORM映射的方式,系統(tǒng)可以自動創(chuàng)建表,不需人工創(chuàng)建,在系統(tǒng)移植時減輕了人工建表帶來的麻煩以及可能出現(xiàn)的錯誤。數(shù)據(jù)庫互連采用Hibernate框架,輕量級封裝JDBC,能對數(shù)據(jù)庫進行增刪改查CRUD級聯(lián),雖未使用Spring簡化對象的創(chuàng)建和對象之間關(guān)系的裝配,但獲得對象時可以使用BeanFactory。
(1)后臺信息管理模塊
后臺圖書信息管理模塊用于確保網(wǎng)站中商品信息的時效性,提供一個商品信息后臺維護管理模塊。該功能模塊具體提供一些子功能,比如添加新讀書。如果網(wǎng)站有新的讀書想要上架,在添加讀書詳細信息后,點擊“添加”按鈕,即可完成添加操作。而默認的新讀書添加到下架讀書列表,如果想要在前臺頁面上顯示出該讀書,需要對讀書進行上架操作,才能使得讀書上架成功。另外,還可以對讀書信息進行修改和下架讀書的刪除操作。
(2)后臺評價管理模塊
后臺評價模塊是管理員對網(wǎng)站內(nèi)容評價的管理,可以根據(jù)圖書的信息按條件查詢圖書評價信息。得到評價后,如果有不滿意的評價信息,管理員可以將其刪除。因此,此模塊具體提供2個子功能:根據(jù)條件查詢相應產(chǎn)品的評價、對較差評價刪除操作。
(3)后臺新聞管理模塊
后臺新聞管理就是網(wǎng)站可以發(fā)布一些新聞信息,包括最新親子活動,最新圖書上架信息等,給前臺瀏覽用戶預覽,吸引更多兒童參與其中。該功能模塊具體包括3個子功能:添加新聞、刪除新聞、修改新聞。
(4)后臺留言管理模塊
后臺留言管理就是網(wǎng)站用戶會員可以在前臺給網(wǎng)站留言,后臺管理人員會查看并對留言信息進行處理操作。具體包括2個子功能:查詢新留言和查詢以往留言。當管理員查看過新留言信息后,留言的狀態(tài)就由“未查看”變?yōu)椤耙巡榭础保f明該留言已處理完畢。
(5)后臺系統(tǒng)管理模塊
該功能模塊具體包括3個子功能:第一,系統(tǒng)管理。即對系統(tǒng)數(shù)據(jù)表進行處理,可以修改字典表的字段信息,也可以刪除或添加字典表信息。第二,角色管理。后臺管理系統(tǒng)分為三個角色:超級管理員、中級管理員和普通管理員。超級管理員擁有所有后臺管理權(quán)限,超級管理員可以更改中級管理員和普通管理的權(quán)限即為第三個功能。針對后臺所有管理模塊,高級管理員可以更改中級和普通管理員的操作權(quán)限。
4.3可維護性的實現(xiàn)
(1)采用MVC模式開發(fā):系統(tǒng)采用MVC的開發(fā)模式,將業(yè)務邏輯代碼寫在模型層(M),將流程控制代碼寫在控制層(C),將客戶端頁面顯示代碼寫在顯示層(V);通過采用分層架構(gòu)的方式,在降藕的同時,也給系統(tǒng)設計和編寫帶來了很大方便,同時三層架構(gòu)的系統(tǒng)設計也大大增加了系統(tǒng)的可維護性;
(2)采用Struts架構(gòu)做總體流程控制,將業(yè)務邏輯代碼隔離出到java類,使系統(tǒng)維護更加方便。同時本系統(tǒng)將處理不同的頁面請求的源代碼方法寫在同一個action里,并針對不同的角色進行分門別類,提高系統(tǒng)的規(guī)范性,使其有條不紊。當需要進行修改時可以很快找到對應的action,提高系統(tǒng)的可維護性。
(3)系統(tǒng)適用不同的數(shù)據(jù)庫,將連接數(shù)據(jù)庫的驅(qū)動等寫在一個配置文件里。配置文件的使用使系統(tǒng)在數(shù)據(jù)庫的適應性方面得到增強,連接不同的數(shù)據(jù)庫時,只需要在此配置文件里進行修改。該系統(tǒng)充分體現(xiàn)了配置文件給系統(tǒng)帶來的好處,使系統(tǒng)的可移植性得到大大提高,無論是在Linux系統(tǒng)還是在Windows系統(tǒng)下都適用。
網(wǎng)站的構(gòu)建與實現(xiàn)是一個復雜而精細的過程,可分為前期調(diào)研、中期建設和后期維護三個階段:
(1)前期調(diào)研:包括做好網(wǎng)站的定位分析、內(nèi)容差異化、頁面溝通等。應著重注意以下幾點:如何針對不同年齡、不同地域、不同家庭環(huán)境的兒童開展讀經(jīng)教育?如何選取有價值、有吸引力、有代表性的內(nèi)容?如何設計網(wǎng)站的模塊,使之有別于其它“讀經(jīng)”網(wǎng)站?怎樣處理網(wǎng)絡“讀經(jīng)”與傳統(tǒng)“讀經(jīng)”、有聲讀經(jīng)與無聲讀經(jīng)、文字讀經(jīng)與圖像讀經(jīng)的關(guān)系?
(2)中期建設:包括做好網(wǎng)站的域名注冊、網(wǎng)站策劃、網(wǎng)頁設計、功能定位、技術(shù)優(yōu)化、內(nèi)容整理、運營推廣等。從“網(wǎng)站選定”、“自主選擇”、“個人空間”等方面對兒童讀經(jīng)網(wǎng)站進行理論構(gòu)建,從網(wǎng)站首頁設計、頁面圖片選取等方面設計網(wǎng)站識別形象,從網(wǎng)站點擊率、兒童喜愛程度、家長老師評價等方面分析網(wǎng)站價值,使之有別于國學機等以固定機器為載體的限量范疇,有別于卡通視頻等單一學習形式,建立綜合書籍、視頻、錄音、游戲等為一體的綜合學習網(wǎng)站。
(3)后期維護:主要做好后期的更新維護、整體優(yōu)化和評估改版等工作。
(4)網(wǎng)站的宣傳戰(zhàn)略:從傳播的要素、過程、途徑進行分析,運用恰切的載體做適度的宣傳,力爭用最少的資金獲得最大的宣傳效果。
6結(jié)束語
利用Struts和Hibernate框架技術(shù)整合開發(fā)的兒童讀經(jīng)網(wǎng)站,兼容性高、可維護性好。為發(fā)揚和傳播傳統(tǒng)文化提供了一種有效形式,對兒童讀經(jīng)取得實效起到了很大幫助。
[1]劉銘徽.基于Struts與Hibernate框架的圖書管理系統(tǒng)研究與設計[J].安徽大學學報(自然科學版),2009,(3):36-38.
[2]黃柳萍.基于WEB與WAP技術(shù)的農(nóng)業(yè)信息網(wǎng)站設計與實現(xiàn)[J].福建電腦,2014,(7):20-21.
[3]劉琳玲.基于Struts與Hibernate框架在醫(yī)藥管理系統(tǒng)中的應用[J].黑龍江科技信息,2014,(12):113.
[4]陳二祥.基于Struts與Hibernate框架的高校人事檔案管理系統(tǒng)設計與實現(xiàn)[J].電子技術(shù),2008,(6):24-26.
[5]古樂聲,卜炟.Java Web程序設計與項目實踐[M].北京:電子工業(yè)出版社,2011.
(責任編校:何俊華)
2016-02-07
湖南省情與決策咨詢研究課題“兒童讀經(jīng)網(wǎng)站的技術(shù)構(gòu)建與實現(xiàn)”(項目編號2015BZZ037);湖南省“十二五”教育科學規(guī)劃課題“親子共讀影響兒童價值導向的實證研究”(項目編號XJK014CJC002)。
萬李(1983-),男,湖北洪湖人,講師,碩士,研究方向為網(wǎng)絡與多媒體。胡曉(1984-),女,湖南長沙人,研究實習員,碩士,研究方向為學前教育。
G633.67
A
1673-2219(2016)05-0095-03