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

        ?

        基于MVC模式的高校串調(diào)課系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        2018-09-17 03:12:42
        無線互聯(lián)科技 2018年17期
        關(guān)鍵詞:視圖頁面對象

        王 丹

        (遼寧省交通高等??茖W(xué)校,遼寧 沈陽 110122)

        目前還有很多高校進(jìn)行串調(diào)課時(shí),仍然是教師填寫申請單,然后需要分別到教研室、院系辦公室和教務(wù)處簽字,教務(wù)處再根據(jù)教室的使用情況進(jìn)行調(diào)整,這樣不僅效率低下,而且浪費(fèi)了很多人力、物力。隨著互聯(lián)網(wǎng)的普及,開發(fā)一套網(wǎng)上串調(diào)課系統(tǒng),教師在辦公室或家里,就可以通過網(wǎng)上串調(diào)課系統(tǒng)進(jìn)行申報(bào),而教研室、系部和教務(wù)處等相關(guān)部門,也可以從網(wǎng)上進(jìn)行審批,從而解決了上述的問題。

        本系統(tǒng)采用當(dāng)前比較流行的網(wǎng)絡(luò)開發(fā)語言Java、基于MVC模式的Struts框架以及為了系統(tǒng)擴(kuò)展的多層架構(gòu)設(shè)計(jì)模式。下面針對本系統(tǒng)所采用的技術(shù)以及本系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)進(jìn)行說明。

        1 技術(shù)分析

        1.1 MVC模式

        MVC(Model-View-Controller)模式是由模型、視圖和控制器組成的,被廣泛地應(yīng)用于大型可擴(kuò)展的Web軟件開發(fā)中,為交互式應(yīng)用程序開發(fā)提供了結(jié)構(gòu)化設(shè)計(jì)模型?;凇胺侄沃钡乃枷耄褂脩粢晥D(View)、控制器(Controller)與模型(Model)分離開來,結(jié)構(gòu)清晰,不僅能夠有效地存儲和展現(xiàn)數(shù)據(jù)對象中的功能模塊,同時(shí)又大大降低了模塊之間的耦合度。

        在MVC模式中,傳統(tǒng)的輸入、處理和輸出被映射到3個(gè)方面,即表現(xiàn)、業(yè)務(wù)和控制。模型由應(yīng)用程序數(shù)據(jù)和業(yè)務(wù)規(guī)則組成,它是應(yīng)用程序的核心,控制數(shù)據(jù)訪問和數(shù)據(jù)更新。視圖負(fù)責(zé)模型內(nèi)容的表現(xiàn),它從模型接收數(shù)據(jù)并決定數(shù)據(jù)顯示形式。當(dāng)模型發(fā)生變化時(shí),它將通知視圖保持?jǐn)?shù)據(jù)的一致性??刂破髫?fù)責(zé)受影響的模型和視圖的動作和事件,它接收客戶端請求并將它們映射到模型的實(shí)現(xiàn)操作,并返回結(jié)果到視圖。在MVC處理中,每個(gè)客戶端輸入請求首先由控制器接收,控制器決定哪個(gè)模型處理它,然后,模型根據(jù)業(yè)務(wù)邏輯處理請求。最后,視圖顯示用戶結(jié)果。

        1.2 Struts技術(shù)

        Struts是在J2EE平臺上應(yīng)用日益廣泛的Web應(yīng)用程序框架。Struts框架實(shí)現(xiàn)了模型—視圖—控制器(MVC)設(shè)計(jì)模式,它將Model,View和Controller分別映射到Web應(yīng)用系統(tǒng)中的組件,通過在Web頁面中使用Struts框架定義的標(biāo)簽,實(shí)現(xiàn)頁面表示層與數(shù)據(jù)層的分離,從而使頁面更加簡潔、易于管理。

        模型包含業(yè)務(wù)邏輯,并與永久性存儲進(jìn)行交互,以存儲、重新檢索和操作數(shù)據(jù)。視圖負(fù)責(zé)將結(jié)果返回給用戶。在Struts中,視圖層是使用JSP實(shí)現(xiàn)的??刂破魈幚韥碜杂脩舻乃姓埱螅⑦x擇合適的視圖返回。在Struts中,控制器的工作是由Action Servlet完成的。當(dāng)Action Servlet收到請求時(shí),將所有請求值捆綁到Java Bean類中,該類擴(kuò)展了Struts Action Form類。決定要調(diào)用哪個(gè)Action類來處理請求。驗(yàn)證用戶輸入的數(shù)據(jù)。Action類在模型組件的幫助下處理請求。該模型與數(shù)據(jù)庫交互并處理請求。在完成請求處理之后,Action類將一個(gè)Action Forward返回給控制器。

        1.3 多層設(shè)計(jì)

        傳統(tǒng)的客戶/服務(wù)器(Client/Server,C/S)體系結(jié)構(gòu),在軟件伸縮性、可管理性、安全性、軟件重用性和資源形態(tài)上都難以滿足要求。架構(gòu)3層式軟件開發(fā)體系結(jié)構(gòu),將數(shù)據(jù)處理邏輯或業(yè)務(wù)邏輯從兩層結(jié)構(gòu)中提取出來,形成中間業(yè)務(wù)層,中間層可能運(yùn)行在不同于客戶機(jī)的其他機(jī)器上,經(jīng)過合理的任務(wù)劃分與物理部署后,可使得整個(gè)系統(tǒng)的工作負(fù)載更趨均衡,從而提高整個(gè)系統(tǒng)的運(yùn)行效率。

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

        2.1 技術(shù)結(jié)構(gòu)設(shè)計(jì)

        由于Struts框架很好地實(shí)現(xiàn)了MVC的設(shè)計(jì)模式,本系統(tǒng)設(shè)計(jì)中,以Struts所框架作為基礎(chǔ),連接前臺顯示層和后臺的業(yè)務(wù)層。在業(yè)務(wù)層和數(shù)據(jù)之間,本系統(tǒng)專門設(shè)計(jì)了數(shù)據(jù)訪問對象(Data Access Object,DAO)層,把業(yè)務(wù)層和數(shù)據(jù)庫具體操作分開,這樣不僅提高了開發(fā)效率,并且易于維護(hù)。

        本系統(tǒng)共劃分了5層:HTML/JSP/Servlet為操作界面顯示層;Struts Action為邏輯控制層;業(yè)務(wù)對象為業(yè)務(wù)層;DAO數(shù)據(jù)訪問層;關(guān)系數(shù)據(jù)庫。

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

        在技術(shù)結(jié)構(gòu)設(shè)計(jì)的基礎(chǔ)上,對串調(diào)課系統(tǒng)的業(yè)務(wù)進(jìn)行分析,得出了串調(diào)課系統(tǒng)結(jié)構(gòu),如圖1所示。

        圖1 系統(tǒng)結(jié)構(gòu)

        串調(diào)課系統(tǒng)從用戶操作界面的角度分為5部分:登錄、基本信息、串調(diào)課管理、系統(tǒng)管理和消息管理,它們分別通過Struts Action與業(yè)務(wù)對象進(jìn)行交互。由于登錄部分的業(yè)務(wù)對象放在了系統(tǒng)管理中,因此在系統(tǒng)結(jié)構(gòu)圖中,業(yè)務(wù)對象少于操作界面層。

        由于Structs Action設(shè)計(jì)非常固定,而數(shù)據(jù)庫設(shè)計(jì)符合第三范式即可,因此下面主要從操作界面、業(yè)務(wù)對象和數(shù)據(jù)訪問3方面的實(shí)現(xiàn),進(jìn)行詳細(xì)說明。

        2.3 操作界面設(shè)計(jì)

        B/S結(jié)構(gòu)的操作界面基本是Html/JSP/Servlet,其中JSP是最常用,并且是最多的。JSP的各種標(biāo)簽,如按鈕、文本框、下拉框等,為了保持它們的界面風(fēng)格統(tǒng)一,本系統(tǒng)采用自定義標(biāo)簽,定義屬性文件,當(dāng)然也可以采用Struts提供的一些標(biāo)簽。

        在系統(tǒng)中,除了對界面風(fēng)格提供了屬性配置文件外,并為了最大限度地減少JSP頁面中的Java代碼,對JSP頁面中的操作進(jìn)行了封裝。現(xiàn)在以基本信息中內(nèi)部職員為例進(jìn)行說明,建立一個(gè)內(nèi)部職工信息頁面:personlist.jsp,該網(wǎng)頁包含3個(gè)通用網(wǎng)頁:common.jsp,list_tool_top.jsp和list_data.jsp。

        common.jsp頁面中導(dǎo)入了常用類、Struts標(biāo)簽、自定義標(biāo)簽、頁面CSS樣式文件、JavaScript函數(shù)文件和共同變量等。list_tool_top.jsp包含了查詢、刪除、保存、修改、排序等通用操作的邏輯處理,界面操作按鈕、分頁和操作類型的標(biāo)簽等。list_data.jsp文件主要用于數(shù)據(jù)顯示的功能。

        personlist.jsp除了包含上述3個(gè)文件外,還需要定義本功能模塊Action的target。因此,personlist.jsp作為一個(gè)完整功能模塊的數(shù)據(jù)操作界面,需要編寫的代碼行數(shù)僅有10行左右。

        2.4 業(yè)務(wù)對象

        業(yè)務(wù)對象(Business Object,BO)是對真實(shí)世界的實(shí)體軟件抽象,它包含數(shù)據(jù)和行為,它們對應(yīng)著數(shù)據(jù)庫中的一條或多條記錄,盡管不同業(yè)務(wù)之間的差距非常大,但是它們都共享一些公共的屬性,例如版本號、描述、操作者、操作時(shí)間、表名、列數(shù)等。

        在本系統(tǒng)中由于涉及多個(gè)業(yè)務(wù)對象:如系部、專業(yè)、內(nèi)部職員、串調(diào)課等,因此定義了一個(gè)抽象父類Base Business Object,它包含了業(yè)務(wù)對象所用到的公共屬性,所有的業(yè)務(wù)對象都必須繼承此父類。如果涉及后續(xù)串調(diào)課系統(tǒng)的調(diào)整或內(nèi)容增加,還可以對該類進(jìn)行擴(kuò)充。

        2.5 數(shù)據(jù)訪問

        由于在本系統(tǒng)中,由于所有的業(yè)務(wù)對象都需要訪問數(shù)據(jù)庫,因此在本系統(tǒng)中引用了DAO設(shè)計(jì)模式,DAO模式提供了訪問關(guān)系型數(shù)據(jù)庫系統(tǒng)所需的所有操作接口,DAO模式將底層數(shù)據(jù)訪問操作與高層業(yè)務(wù)邏輯分離開,對上層提供面向?qū)ο蟮臄?shù)據(jù)訪問接口。

        本系統(tǒng)設(shè)計(jì)了Data Access Object類,它封裝了所有的數(shù)據(jù)庫的操作,并且使用連接池,提高系統(tǒng)的性能。并且通過讀取配置文件,可以設(shè)置不同的數(shù)據(jù)庫驅(qū)動,連接不同的數(shù)據(jù)庫,例如SQL Server,Oracle,MySQL等,使系統(tǒng)具有了通用性,在不同的數(shù)據(jù)庫之間實(shí)現(xiàn)無縫轉(zhuǎn)換。

        3 結(jié)語

        本串調(diào)課系統(tǒng)雖然是一個(gè)相對簡單的網(wǎng)絡(luò)應(yīng)用系統(tǒng),但它的最大特點(diǎn)是不僅采用了當(dāng)前非常流行的網(wǎng)絡(luò)開發(fā)技術(shù),并且應(yīng)用了MVC和DAO等多種設(shè)計(jì)模式,把串調(diào)課系統(tǒng)的具體業(yè)務(wù)和網(wǎng)絡(luò)應(yīng)用通用功能進(jìn)行了區(qū)分,并對通用功能進(jìn)行了封裝,形成了一個(gè)通用框架,不僅易于維護(hù),還可實(shí)現(xiàn)代碼重用,可以對類似網(wǎng)絡(luò)應(yīng)用系統(tǒng)開發(fā)作為參考和借鑒。

        猜你喜歡
        視圖頁面對象
        大狗熊在睡覺
        神秘來電
        睿士(2023年2期)2023-03-02 02:01:09
        刷新生活的頁面
        攻略對象的心思好難猜
        意林(2018年3期)2018-03-02 15:17:24
        5.3 視圖與投影
        視圖
        Y—20重型運(yùn)輸機(jī)多視圖
        SA2型76毫米車載高炮多視圖
        基于熵的快速掃描法的FNEA初始對象的生成方法
        區(qū)間對象族的可鎮(zhèn)定性分析
        国产一级一片内射视频在线| 国产精品后入内射日本在线观看 | 男女肉粗暴进来120秒动态图 | 日本一区二区精品高清| 国产精品久久久久aaaa| 一本久道久久综合婷婷五月| 亚洲中文字幕有码av| 亚洲中文字幕九色日本| 亚欧中文字幕久久精品无码| 国产av日韩a∨亚洲av电影| 无码高潮少妇毛多水多水免费| 熟妇人妻精品一区二区视频| 久久精品aⅴ无码中文字字幕| 久久久久亚洲av无码a片软件| 校花高潮一区日韩| 韩国日本一区二区在线| 99久久免费只有精品国产| 成人免费ā片在线观看| 国产视频精品一区白白色| 三上悠亚亚洲精品一区| 亚洲热线99精品视频| 亚洲成a人片在线| 在线视频一区二区观看| 国产高颜值女主播在线| 欧美艳星nikki激情办公室| 久久福利资源国产精品999| 女同在线视频一区二区| 99在线精品免费视频| 狠狠躁夜夜躁人人爽天天不卡软件 | 国产一区二区三区免费精品视频| 国产免费内射又粗又爽密桃视频| 一国产区在线观看| 中文字幕一区二区人妻在线不卡| 亚洲av福利天堂一区二区三 | 免费a级毛片无码a∨免费| 国产视频激情在线观看| 人妻aⅴ中文字幕| 亚洲永久精品ww47永久入口| 亚洲偷自拍国综合第一页国模| 人妻无码一区二区三区| 中文字幕av日韩精品一区二区|