亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于SSH框架的高校餐費(fèi)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        2015-05-30 02:07:34翟高粵
        計(jì)算機(jī)時(shí)代 2015年5期

        摘 要: 為提高高校餐費(fèi)管理的效率,實(shí)現(xiàn)智能化管理,提出一種基于SSH框架的餐費(fèi)管理解決方案。介紹了系統(tǒng)的總體框架、業(yè)務(wù)流程和主要功能模塊的設(shè)計(jì),對(duì)系統(tǒng)開(kāi)發(fā)中的關(guān)鍵技術(shù)SSH框架進(jìn)行了研究,并實(shí)現(xiàn)了軟件的研制。實(shí)踐證明,采用SSH框架設(shè)計(jì)模式,可以將系統(tǒng)進(jìn)行很好的分工,使系統(tǒng)層次結(jié)構(gòu)更加清晰,降低模塊之間耦合性,簡(jiǎn)化編程,提高軟件開(kāi)發(fā)效率,同時(shí)提高系統(tǒng)的性能和可維護(hù)性。

        關(guān)鍵詞: Struts; 餐費(fèi)管理; Hibernate; Spring; SSH; MVC

        中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2015)05-47-03

        Abstract: In order to improve the efficiency of the catering management, this paper puts forward a solution for college catering management based on SSH framework. The overall framework of the system, business processes, and the design of the main functional modules are introduced, the key technology of SSH framework in the development of the system is studied. Practice has proved that using the SSH framework design mode, can be a good division of the system, make the hierarchical structure of the system more clear, reduce the coupling between modules, simplify programming, improve the efficiency of software development, improve the performance of the system and maintainability at the same time.

        Key words: Struts; catering expense management; Hibernate; Spring; SSH; MVC

        0 引言

        近年來(lái)高校大力擴(kuò)招,這給高校的管理帶來(lái)了很大考驗(yàn),學(xué)生的就餐就是一個(gè)不小的問(wèn)題。傳統(tǒng)的餐費(fèi)管理大多采用人工管理,效率低,已經(jīng)不能滿(mǎn)足當(dāng)前的需求。針對(duì)這個(gè)問(wèn)題,本文通過(guò)SSH(Struts+Hibernate+Spring)框架技術(shù),開(kāi)發(fā)一個(gè)基于MVC的高校餐費(fèi)管理系統(tǒng),使餐費(fèi)管理實(shí)現(xiàn)智能化管理。實(shí)踐證明,該系統(tǒng)的投入使用,大大提高了管理水平和效率。

        1 SSH框架介紹

        1.1 Struts

        Struts是一個(gè)基于Java的MVC(Model-View-Controller)框架,主要是采用Servlet和JSP技術(shù)來(lái)實(shí)現(xiàn)[1],該框架主要由三部分組成。

        模型(Model):是一個(gè)Action類(lèi),通過(guò)它來(lái)實(shí)現(xiàn)商業(yè)邏輯,用戶(hù)請(qǐng)求通過(guò)struts-config.xml文件描述的配置信息實(shí)現(xiàn)控制器(Controller)向Action的轉(zhuǎn)發(fā)。

        視圖(View):View是由與控制器Servlet配合工作的一整套JSP定制標(biāo)簽庫(kù)構(gòu)成,利用它們可以快速建立應(yīng)用系統(tǒng)的界面。

        控制器(Controller):本質(zhì)是Servlet,主要功能是將客戶(hù)端請(qǐng)求轉(zhuǎn)發(fā)到相應(yīng)的Action類(lèi)。

        1.2 Spring

        Spring是輕量級(jí)的Java EE應(yīng)用程序框架。Spring的核心是實(shí)現(xiàn)了IoC(控制反轉(zhuǎn))模式和AOP(面向切面編程)的容器,Spring的目標(biāo)是實(shí)現(xiàn)一個(gè)全方位的整合框架,實(shí)現(xiàn)多個(gè)子框架的組合,提供一站式的框架整合方案[2]。

        1.3 Hibernate

        Hibernate是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了輕量級(jí)的對(duì)象封裝,使得Java程序員可以使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù),完成數(shù)據(jù)的持久化[3]。

        總的來(lái)說(shuō),傳統(tǒng)的Java EE采用EJB(企業(yè)Java Bean)為核心,以應(yīng)用服務(wù)器為運(yùn)行環(huán)境,開(kāi)發(fā)和運(yùn)行的成本較高。由Struts+Spring+Hibernate構(gòu)成的SSH框架是Java EE的一個(gè)輕量級(jí)框架,它具備Java EE規(guī)范的種種特征,具有良好的面向?qū)ο蠼5乃季S方式、優(yōu)秀的應(yīng)用分層及良好的可擴(kuò)展性和可維護(hù)性,目前已經(jīng)成為Java EE的一種更廣泛的開(kāi)發(fā)規(guī)范。SSH集成框架與技術(shù)結(jié)構(gòu)如圖1所示[4]。

        2 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        2.1 系統(tǒng)功能

        系統(tǒng)主要實(shí)現(xiàn)用戶(hù)信息導(dǎo)入、在線(xiàn)刷卡、賬戶(hù)查詢(xún)、賬戶(hù)充值和賬戶(hù)管理等相關(guān)功能。功能模塊構(gòu)成如圖2所示。

        ⑴ 用戶(hù)信息導(dǎo)入:通過(guò)后臺(tái)管理批量導(dǎo)入學(xué)生基本信息,如學(xué)號(hào)、姓名、初始密碼等信息。

        ⑵ 在線(xiàn)刷卡:用戶(hù)在就餐消費(fèi)時(shí)刷卡,系統(tǒng)讀出用戶(hù)的賬戶(hù)余額,如果余額充足,將從賬戶(hù)余額中減去本次就餐的費(fèi)用,并顯示本次就餐發(fā)生費(fèi)用和用戶(hù)賬戶(hù)余額。

        ⑶ 賬戶(hù)查詢(xún):查詢(xún)用戶(hù)就餐費(fèi)用的歷史記錄以及余額的情況。

        ⑷ 賬戶(hù)充值:管理員收到學(xué)生的餐費(fèi)后對(duì)用戶(hù)的賬戶(hù)進(jìn)行充值,即把收到的餐費(fèi)與學(xué)生賬戶(hù)的余額進(jìn)行累加。

        ⑸ 用戶(hù)賬戶(hù)管理:可以對(duì)學(xué)生賬戶(hù)進(jìn)行刪除和修改。

        2.2 系統(tǒng)架構(gòu)設(shè)計(jì)

        本系統(tǒng)采用的是四層B/S結(jié)構(gòu),包括表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪(fǎng)問(wèn)層和數(shù)據(jù)層。

        表示層主要采用Struts構(gòu)架,實(shí)現(xiàn)MVC模型中的視圖和控制部分。

        業(yè)務(wù)邏輯層主要使用Spring框架實(shí)現(xiàn)。Spring框架使用依賴(lài)注入的方式,使業(yè)務(wù)邏輯組件在運(yùn)行期被注入到容器中,利用Spring框架的AOP功能,從面向方面更好地降低系統(tǒng)中各個(gè)組件之間的耦合性[5]。另外,Spring的事務(wù)管理功能在在線(xiàn)刷卡模塊也得到很好的應(yīng)用。

        數(shù)據(jù)訪(fǎng)問(wèn)層使用Hibernate框架實(shí)現(xiàn)。在該層主要完成實(shí)體“對(duì)象-關(guān)系”映射的建立,通過(guò)這個(gè)映射訪(fǎng)問(wèn)業(yè)務(wù)對(duì)象,即可實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn),使得開(kāi)發(fā)中不必再用SQL語(yǔ)句編寫(xiě)復(fù)雜的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)程序,簡(jiǎn)化了對(duì)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn),提高了開(kāi)發(fā)效率[6]。

        數(shù)據(jù)層主要是數(shù)據(jù)庫(kù),本系統(tǒng)中使用MySql數(shù)據(jù)庫(kù)。

        2.3 具體實(shí)現(xiàn)分析

        因篇幅限制,以下僅從眾多模塊中選擇賬戶(hù)充值模塊來(lái)說(shuō)明SSH架構(gòu)開(kāi)發(fā)的具體流程。

        2.3.1 利用Struts框架建立視圖和控制器

        ⑴ 建立視圖

        在MVC模式中,視圖負(fù)責(zé)顯示從模型中采集的數(shù)據(jù),也負(fù)責(zé)用戶(hù)輸入的數(shù)據(jù)和請(qǐng)求的傳遞,并將這些數(shù)據(jù)和請(qǐng)求傳遞給控制器和模型,在Struts框架中,視圖部分主要包括JSP頁(yè)面和ActionForm[7]。JSP頁(yè)面用來(lái)顯示模型中的數(shù)據(jù),收集用戶(hù)輸入的數(shù)據(jù)以及提交用戶(hù)的請(qǐng)求。ActionForm的實(shí)質(zhì)是實(shí)體JavaBean,在Struts中專(zhuān)門(mén)用來(lái)傳遞表單數(shù)據(jù)。

        下面是賬戶(hù)充值JSP頁(yè)面、ActionForm和控制器的部分關(guān)鍵代碼:

        <!—賬戶(hù)充值JSP代碼-->

        AccountFunding” method=”post”>

        <!—賬戶(hù)充值A(chǔ)ctionForm代碼-->

        ⑵ 建立控制器

        控制器的功能是將客戶(hù)端請(qǐng)求轉(zhuǎn)發(fā)到相應(yīng)的Action類(lèi)[8],控制部分包括配置文件web.xml、struts-config.xml和相應(yīng)的Action類(lèi)。下面是控制器的部分關(guān)鍵代碼:

        <!—web.xml Struts應(yīng)用配置部分代碼-->

        action

        org.apache.struts.action.ActionServlet

        action

        *.do

        <!—struts-config.xml 配置部分代碼-->

        name=”accountFundingForm”

        type =”com.szjm.action.accountFundingAction”

        parameter=”method”>

        上述代碼顯示,在struts-config.xml文件中定義了一個(gè)元素,用來(lái)處理賬戶(hù)充值的請(qǐng)求,通過(guò)賬戶(hù)充值的JSP頁(yè)面的“accountFunding.do?method=AccountFunding”這樣的請(qǐng)求,就可以由AccountFundingAction來(lái)處理該請(qǐng)求,并將處理結(jié)果返回。

        2.3.2 建立模型

        SSH中的模型包括可重復(fù)利用的實(shí)體JavaBean、系統(tǒng)的業(yè)務(wù)邏輯以及對(duì)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)方法。建立的模型最終通過(guò)Spring依賴(lài)注入的方式,在運(yùn)行期被注入到容器中等待調(diào)用。

        ⑴ 實(shí)體JavaBean類(lèi)

        本系統(tǒng)實(shí)體主要由學(xué)生賬戶(hù)類(lèi)(Account.java)、學(xué)生類(lèi)(Student.java)和管理員類(lèi)(Manager.java)構(gòu)成。

        Account類(lèi):表示業(yè)務(wù)中的學(xué)生賬戶(hù)。

        Student類(lèi):表示業(yè)務(wù)中的學(xué)生。

        Manager類(lèi):表示業(yè)務(wù)中的管理員。

        以上實(shí)體類(lèi)均可以通過(guò)Hibernate DAO(數(shù)據(jù)訪(fǎng)問(wèn)對(duì)象)對(duì)它們的操作來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中相應(yīng)表的操作。

        ⑵ 建立業(yè)務(wù)邏輯類(lèi)

        業(yè)務(wù)邏輯類(lèi)主要完成應(yīng)用中所需要的一些業(yè)務(wù)方法,有業(yè)務(wù)邏輯接口和相應(yīng)的實(shí)現(xiàn)類(lèi)構(gòu)成。本系統(tǒng)的業(yè)務(wù)邏輯接口有兩個(gè),即IStudentService和IManagerService,分別對(duì)應(yīng)了與學(xué)生相關(guān)的業(yè)務(wù)邏輯以及餐費(fèi)管理員相關(guān)的業(yè)務(wù)邏輯。與業(yè)務(wù)邏輯接口對(duì)應(yīng),系統(tǒng)中定義了實(shí)現(xiàn)這兩個(gè)業(yè)務(wù)邏輯接口的實(shí)現(xiàn)類(lèi),即StudentServiceImpl和ManagerServiceImpl類(lèi)。

        ⑶ 建立DAO類(lèi)

        DAO類(lèi)主要完成對(duì)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn),可以借助Hibernate來(lái)實(shí)現(xiàn)。傳統(tǒng)對(duì)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)是通過(guò)JDBC來(lái)完成,但是,使用JDBC訪(fǎng)問(wèn)數(shù)據(jù),SQL語(yǔ)句比較復(fù)雜且難以理解,重復(fù)代碼較多,而使用Hibernate可以解決這些問(wèn)題。Hibernate通過(guò)訪(fǎng)問(wèn)對(duì)象的方法來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn),在訪(fǎng)問(wèn)中使用HQL語(yǔ)句來(lái)訪(fǎng)問(wèn)對(duì)象,使程序和開(kāi)發(fā)變得簡(jiǎn)單。下面簡(jiǎn)單介紹建立DAO類(lèi)的步驟。

        ① 建立“對(duì)象-關(guān)系”映射文件

        在餐費(fèi)管理系統(tǒng)中,根據(jù)業(yè)務(wù)實(shí)體和數(shù)據(jù)庫(kù)中的表,需要建立如下三個(gè)“對(duì)象-關(guān)系”映射文件。

        Account.hbm.xml:表示Account對(duì)象和account表之間的對(duì)象-關(guān)系映射文件。

        Student.hbm.xml:表示Student對(duì)象和student表之間的對(duì)象-關(guān)系映射文件。

        Manager.hbm.xml:表示Manager對(duì)象和manager表之間的對(duì)象-關(guān)系映射文件。

        對(duì)象-關(guān)系映射文件建立后,在進(jìn)行數(shù)據(jù)訪(fǎng)問(wèn)時(shí)就可通過(guò)訪(fǎng)問(wèn)業(yè)務(wù)實(shí)體對(duì)象來(lái)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)。

        ② 建立DAO類(lèi)

        系統(tǒng)中DAO類(lèi)可通過(guò)Hibernate Synchronizer工具自動(dòng)生成,包括StudentDAO、AccountDAO和ManagerDAO類(lèi),這三個(gè)類(lèi)都分別實(shí)現(xiàn)了接口IStudentDAO、IAccountDAO和IManagerDAO。這些DAO類(lèi)主要是實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)查找、保存、更新和刪除等功能。

        2.3.3 使用Spring裝配組件

        前面介紹的Action類(lèi)、Service類(lèi)和DAO類(lèi),這些類(lèi)在傳統(tǒng)的做法中,通常是在代碼中通過(guò)互相調(diào)用組織在一起,這樣做導(dǎo)致類(lèi)之間的耦合度較高,一旦某些代碼發(fā)生了改變,就需要對(duì)各個(gè)耦合的程序進(jìn)行重新編譯,維護(hù)的工作量很大。使用Spring來(lái)對(duì)它們進(jìn)行管理,可以很好地解決這些問(wèn)題。

        ⑴ Struts和Spring集成

        通過(guò)Struts和Spring的集成,Struts中Action就可以被Spring進(jìn)行管理,從而實(shí)現(xiàn)了在運(yùn)行期對(duì)Action的依賴(lài)注入。Struts和Spring的集成可通過(guò)在Struts-config.xml中加入以下代碼實(shí)現(xiàn)。

        <!—配置Spring插件-- >

        .ContextLoaderPlugIn”>

        /WEB-INF/applicationContext.xml”>

        ⑵ 建立applicationContext.xml文件

        applicationContext.xml是Spring的配置文件,該文件的主要功能是將Action類(lèi)、Service類(lèi)和DAO類(lèi)進(jìn)行裝配,實(shí)現(xiàn)數(shù)據(jù)源的配置、SessionFactory的創(chuàng)建(主要用來(lái)實(shí)現(xiàn)Hibernate的初始化)、事務(wù)管理和業(yè)務(wù)邏輯事務(wù)代理的配置等功能。

        3 結(jié)論

        本文通過(guò)一個(gè)具體實(shí)例的實(shí)現(xiàn)過(guò)程介紹了使用SSH框架進(jìn)行開(kāi)發(fā)的步驟和方法。實(shí)踐證明,采用SSH框架設(shè)計(jì)模式,可以將系統(tǒng)的設(shè)計(jì)進(jìn)行很好的分工,使系統(tǒng)的層次結(jié)構(gòu)更加清晰,降低模塊之間耦合性,簡(jiǎn)化編程,提高軟件開(kāi)發(fā)效率,同時(shí)提高系統(tǒng)的性能和維護(hù)性,在開(kāi)發(fā)大型可復(fù)用、可擴(kuò)展和可維護(hù)的Web應(yīng)用系統(tǒng)開(kāi)發(fā)中體現(xiàn)出了它的優(yōu)勢(shì)。希望該方法可為剛開(kāi)始學(xué)習(xí)SSH架構(gòu)的軟件開(kāi)發(fā)人員提供一定的參考。

        參考文獻(xiàn):

        [1] 王美琴.基于J2EE的輕量級(jí)SSH架構(gòu)整合研究[J].電腦知識(shí)與技術(shù),2009.21:5718-5720

        [2] 于湛麟,李仲秋,任永昌.SSH框架實(shí)現(xiàn)MVC架構(gòu)的電子商務(wù)軟件平臺(tái)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2012.10:169-172

        [3] 王希望,孟祥書(shū),王福順.基于SSH架構(gòu)的Web系統(tǒng)的開(kāi)發(fā)方法[J].河北農(nóng)業(yè)大學(xué)學(xué)報(bào):農(nóng)林教育版,2010.4:538-541

        [4] 翟高粵.SSH框架擴(kuò)展與集成的研究[J].煤炭技術(shù),2011.8:194-195

        [5] 翟高粵.基于J2EE技術(shù)的SSH框架的改進(jìn)及應(yīng)用[J].計(jì)算機(jī)時(shí)代,2012.10:24-26

        [6] 陶維.基于SSH多架構(gòu)Web系統(tǒng)設(shè)計(jì)及其應(yīng)用[J].科技和產(chǎn)業(yè),2009.3:101-104

        [7] 郭廣軍,朱昭君,王劍波.基于SSH架構(gòu)的課程作業(yè)與成績(jī)管理系統(tǒng)[J].微電子學(xué)與計(jì)算機(jī),2010.8:157-160

        [8] 王斯瓊,牟永敏.Spring在SSH架構(gòu)中的作用和不足[J].北京機(jī)械工業(yè)學(xué)院學(xué)報(bào),2008.1:54-57

        女人夜夜春高潮爽a∨片传媒 | 一本久到久久亚洲综合| 亚洲中文字幕乱码一二三区| 99久久婷婷亚洲综合国产| 精品亚洲成a人在线观看| 亚洲精品无码乱码成人| 国产女高清在线看免费观看 | 99精品国产丝袜在线拍国语| 色婷婷五月综合亚洲小说| 国产成人一区二区三区影院免费| 色婷婷亚洲一区二区三区在线| 狠狠色丁香婷婷综合潮喷| 久久精品人人做人人爽电影蜜月| 2021国产最新无码视频| 国产一区在线视频不卡| 丰满人妻被两个按摩师| 亚洲国产综合精品 在线 一区 | 婷婷久久亚洲中文字幕| 亚洲成av人片乱码色午夜| 97久久天天综合色天天综合色hd| 国产片三级视频播放| 久久精品免费视频亚洲| 久久久久av无码免费网| 日韩毛片基地一区二区三区| 国产小视频一区二区三区| 中文字幕本久久精品一区| 粉嫩虎白女毛片人体| 国产免费看网站v片不遮挡| 青青草视频在线播放观看| 精品国品一二三产品区别在线观看 | 国产激情内射在线影院| 亚洲一区二区在线视频播放| 国产视频在线观看一区二区三区 | 蜜桃视频网址在线观看| 中文字幕在线日亚州9| 日本强好片久久久久久aaa| 亚洲免费视频一区二区三区| 国产精品女主播福利在线| 亚洲男人第一无码av网站| 日韩在线精品在线观看| 国产亚洲中文字幕一区|