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

        ?

        基于SSH的辦公室開(kāi)放信息系統(tǒng)的分析與設(shè)計(jì)

        2013-10-20 08:36:12李啟銳陳曉龍
        微型電腦應(yīng)用 2013年10期
        關(guān)鍵詞:表示層視圖辦公室

        李啟銳,陳曉龍

        0 引言

        工作中到各個(gè)辦公室辦理業(yè)務(wù)是不可避免的,但是經(jīng)常遇到這種問(wèn)題:當(dāng)帶好材料到辦公室門口才發(fā)現(xiàn),由于辦公室人員出差或其它原因,辦公室暫停對(duì)外開(kāi)放,讓人白走一趟。解決這個(gè)問(wèn)題的常用方法是出門之前先往該辦公室電話預(yù)約。

        造成“吃閉門羹”的主要原因是辦公室的開(kāi)放信息不能被方便地查詢。為此,本文分析了辦公室開(kāi)放信息的建立、發(fā)布和查詢流程,設(shè)計(jì)了一個(gè)辦公室開(kāi)放信息系統(tǒng)。在該系統(tǒng)中,通過(guò)網(wǎng)絡(luò)就可以查詢到所需信息,既不影響他人工作,又可以節(jié)省電話資源。

        為了使用方便和提高跨平臺(tái)性,系統(tǒng)采用 B/S架構(gòu)模式,基于SSH框架技術(shù)實(shí)現(xiàn)。

        1 系統(tǒng)功能分析

        系統(tǒng)主要實(shí)現(xiàn)辦公室信息的設(shè)置與查詢,包括辦公室信息管理、用戶管理、辦公室狀態(tài)設(shè)置和辦公室狀態(tài)查詢 4個(gè)功能模塊。辦公室分為兩個(gè)級(jí)別:第一級(jí)別是以大的機(jī)關(guān)處室為單位,如教務(wù)處等;第二級(jí)別是機(jī)關(guān)處室下的各個(gè)科室,如教育管理科等。機(jī)構(gòu)信息包括名字、負(fù)責(zé)人、職能描述、地址等信息。辦公室的信息包括名字、負(fù)責(zé)人、地址、職能描述等信息,二級(jí)科室還包括辦公室狀態(tài)信息,狀態(tài)分為正常、出差、開(kāi)會(huì)、休假 4種。系統(tǒng)的用戶主要分為 3類,第一類是系統(tǒng)管理員,可以進(jìn)行辦公室信息管理和用戶管理;第二類是辦公室人員,這類用戶分屬于各個(gè)二級(jí)科室,可以登錄系統(tǒng)設(shè)置辦公室的狀態(tài)信息;第三類是普通用戶,只能查詢辦公室的狀態(tài)信息。用戶管理包括對(duì)第二類用戶信息進(jìn)行添加、刪除和修改。

        2 SSH技術(shù)分析

        SSH是目前流行的Java開(kāi)源框架組合,它提出了一種開(kāi)發(fā) J2EE應(yīng)用的輕量級(jí)解決方案[1]。利用 SSH 整合框架可以開(kāi)發(fā)出一個(gè)分層的、易維護(hù)、可復(fù)用的企業(yè)級(jí)應(yīng)用系統(tǒng)[2]。

        2.1 Struts2框架技術(shù)分析

        Struts2是一個(gè)可擴(kuò)展的 JAVAEE Web框架,它不是Struts1的簡(jiǎn)單升級(jí),而是從 Web Work升級(jí)而來(lái)的新版Struts[3],它集成了輸入校驗(yàn)、國(guó)際化、類型轉(zhuǎn)換、攔截器、標(biāo)簽庫(kù)等常用的Web編程技術(shù)。

        Struts2實(shí)現(xiàn)了 MVC設(shè)計(jì)模,提供了開(kāi)發(fā)MVC系統(tǒng)的底層支持。它將應(yīng)用程序分解為業(yè)務(wù)模型、控制器和視圖三大模塊,降低了各模塊之間的耦合度,提高應(yīng)用程序的可維護(hù)性和重用性。

        在Struts2中,F(xiàn)ilterDispatcher作為主控制器由Struts2框架提供,它接收視圖傳送過(guò)來(lái)的請(qǐng)求,并分發(fā)到各個(gè)分控制器(Action)來(lái)處理。Action負(fù)責(zé)對(duì)某一個(gè)或多個(gè)特定的頁(yè)面請(qǐng)求的響應(yīng),調(diào)用相應(yīng)的業(yè)務(wù)邏輯來(lái)處理,并把結(jié)果數(shù)據(jù)提交到視圖顯示給用戶。Action由開(kāi)發(fā)人員根據(jù)需要編寫(xiě)。Struts2使用 stuts.xml來(lái)定義請(qǐng)求與Action、請(qǐng)求與處理方法、處理結(jié)果與視圖之間的對(duì)應(yīng)關(guān)系。stuts.xml是 Struts2的核心配置文件,與 Struts2相關(guān)的特殊配置項(xiàng)目都在該文件中設(shè)置。

        2.2 Spring框架技術(shù)分析

        Spring框架的目標(biāo)是解決企業(yè)應(yīng)用開(kāi)發(fā)的復(fù)雜性,具有兩大核心功能:控制反轉(zhuǎn)(IoC, Inversion of Control)和面向切面編程(AOP, Aspect Oriented Programming)。

        IoC又稱為依賴注入(DI, Dependency Injection),其思想是當(dāng)某個(gè)Java實(shí)例(調(diào)用者)需要另一個(gè)Java實(shí)例時(shí),不再需要調(diào)用者創(chuàng)建被調(diào)用者實(shí)例,這個(gè)工作由外部的協(xié)調(diào)者(如Spring容器)來(lái)完成。在這種設(shè)計(jì)模式中,對(duì)象與對(duì)象之間的依賴關(guān)系被從代碼中分離出來(lái),通過(guò)配置文件進(jìn)行動(dòng)態(tài)管理,使得程序耦合度非常松散,對(duì)象的更換變得相當(dāng)簡(jiǎn)單。

        AOP是一種通過(guò)預(yù)編譯方式和運(yùn)行期動(dòng)態(tài)代理技術(shù),實(shí)現(xiàn)了在不修改源代碼的情況下給程序動(dòng)態(tài)統(tǒng)一添加功能的技術(shù)。利用這種技術(shù)可以將一些通用功能從不相關(guān)的類中分離出來(lái),能夠使很多類共享一個(gè)行為,提高程序的重用性。這樣,一旦這種行為發(fā)生變化,不必修改很多類,只需要修改這個(gè)行為即可,提高程序的開(kāi)發(fā)效率。Spring的事務(wù)處理就是AOP技術(shù)的典型應(yīng)用。

        2.3 Hibernate框架技術(shù)分析

        Hibernate是一個(gè)面向 Java環(huán)境的輕量級(jí)ORM(Object/Relation Mapping )工具,其作用是對(duì)Java類與關(guān)系數(shù)據(jù)庫(kù)表進(jìn)行映射,完成數(shù)據(jù)的持久化,同時(shí)提供數(shù)據(jù)的查詢、一致性檢查、事務(wù)管理等機(jī)制[3]。應(yīng)用Hibernate,程序員可以完全使用面向?qū)ο蟮乃季S去操作數(shù)據(jù)庫(kù),不必關(guān)心數(shù)據(jù)庫(kù)連接、事務(wù)處理等細(xì)節(jié)問(wèn)題,這些細(xì)節(jié)的處理在傳統(tǒng)的使用SQL和JDBC編程中是不可避免的。因此,程序員可以從繁重的數(shù)據(jù)庫(kù)操作中釋放出來(lái),集中精力處理系統(tǒng)的業(yè)務(wù)邏輯。另外,有了映射機(jī)制,程序代碼中不再需要出現(xiàn)如數(shù)據(jù)表名等數(shù)據(jù)庫(kù)元數(shù)據(jù)信息,進(jìn)行數(shù)據(jù)庫(kù)移植時(shí)不需要修改代碼,提高系統(tǒng)的靈活性。

        2.4 SHH整合技術(shù)分析

        Web 應(yīng)用分層思想把一個(gè)Web應(yīng)用程序分為表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)存取層三個(gè)層次。與MVC模式相對(duì)應(yīng),表示層包含MVC模式中的視圖與控制器,而業(yè)務(wù)邏輯層和數(shù)據(jù)存取層則組成MVC模式中的模型。結(jié)合3 個(gè)框架各自的特點(diǎn)及Web 應(yīng)用分層思想,得出SSH整合的策略。Struts2實(shí)現(xiàn)了 MVC模式,有優(yōu)秀用戶交互功能,因此把 Struts2作為MVC的承載者,主要實(shí)現(xiàn)表示層功能。Hibernate是最好的ORM工具之一,使用它可以簡(jiǎn)化數(shù)據(jù)庫(kù)的操作,主要用來(lái)實(shí)現(xiàn)數(shù)據(jù)存取層功能。整合過(guò)程以Spring 框架為核心:第一,使用它的Ioc機(jī)制實(shí)現(xiàn)表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)存取層之間的相互調(diào)用,降低各層之間的耦合度;第二,使用AOP機(jī)制實(shí)現(xiàn)數(shù)據(jù)存取層事務(wù)的統(tǒng)一管理,進(jìn)一步簡(jiǎn)化數(shù)據(jù)庫(kù)的操作。

        3 系統(tǒng)設(shè)計(jì)

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

        在軟件體系架構(gòu)設(shè)計(jì)中, 分層式結(jié)構(gòu)是最常見(jiàn), 也是最重要的一種結(jié)構(gòu)[4]。系統(tǒng)使用三層結(jié)構(gòu)設(shè)計(jì),分別為表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)存取層?;赟SH的整合實(shí)現(xiàn),得出系統(tǒng)的總體結(jié)構(gòu),如圖1所示:

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

        在此模型中,按照不同的功能把程序分3個(gè)層次,邏輯上相互獨(dú)立。層次之間的調(diào)用通過(guò) Spring的依賴注入技術(shù)實(shí)現(xiàn),與一般的MVC模式相比較,程序更深層次地降低了模塊之間的耦合度,大大提高了程序的簡(jiǎn)單性和可維護(hù)性。使用 Hibernate和 Spring進(jìn)行數(shù)據(jù)持久化操作,與傳統(tǒng)的JDBC相比較,降低了程序復(fù)雜度,減少了一些重復(fù)性的工作,提高開(kāi)發(fā)效率。

        (1)表示層設(shè)計(jì)

        表示層實(shí)現(xiàn)MVC模式中的視圖與控制器功能。該層為用戶提供一種交互式的操作界面,主要應(yīng)用Struts2技術(shù)實(shí)現(xiàn),方便調(diào)用其標(biāo)簽庫(kù)、輸入校驗(yàn)、攔截器等功能。Struts2首先接收用戶的請(qǐng)求,把用戶的輸入通過(guò) Action轉(zhuǎn)發(fā)給相應(yīng)的業(yè)務(wù)邏輯層來(lái)處理。接收到處理結(jié)果后調(diào)用相應(yīng)的視圖顯示給用戶。

        控制器與視圖之間的數(shù)據(jù)傳輸主要通過(guò) Action類中定義的屬性(提供getter和setter)及部分Servlet API來(lái)實(shí)現(xiàn)。主控制器通過(guò)解析struts.xml來(lái)實(shí)現(xiàn)不同的請(qǐng)求分發(fā)給不同的子控制器,并根據(jù)不同處理結(jié)果調(diào)用不同的視圖來(lái)顯示。

        (2)業(yè)務(wù)邏輯層設(shè)計(jì)

        業(yè)務(wù)邏輯層是針對(duì)具體問(wèn)題的處理。該層根據(jù)表示層的請(qǐng)求,對(duì)輸入的數(shù)據(jù)進(jìn)行加工處理后把結(jié)果返回給表示層。處理過(guò)程如果需要數(shù)據(jù)庫(kù)支持,則調(diào)用數(shù)據(jù)存取層從數(shù)據(jù)庫(kù)中存取數(shù)據(jù)。

        (3)數(shù)據(jù)存取層設(shè)計(jì)

        數(shù)據(jù)存取層負(fù)責(zé)一切數(shù)據(jù)庫(kù)操作,主要用Hibernate技術(shù)實(shí)現(xiàn)。同時(shí)使用 Spring進(jìn)行統(tǒng)一的事務(wù)管理,把所有事務(wù)交給Spring自動(dòng)完成處理,這只需要在Spring的核心配置文件中 applicationContext.xml中配置即可。Hibernate與Spring整合之后,DAO組件類還可以繼承 Sping提供的HibernateDaoSupport類,該類把數(shù)據(jù)庫(kù)的操作過(guò)程封裝成模板。使用模板可以大大簡(jiǎn)化操作數(shù)據(jù)庫(kù)的程序。

        3.2 系統(tǒng)類設(shè)計(jì)

        根據(jù)以上結(jié)構(gòu)模型,系統(tǒng)的程序中至少有Action組件、Service組件和DAO組件需要編寫(xiě)。這3種組件之間的相互調(diào)用由 Spring動(dòng)態(tài)注入完成,其本質(zhì)是根據(jù)面向?qū)ο笾卸鄳B(tài)性的特點(diǎn),使用接口編程實(shí)現(xiàn)。Action類通常從 Struts2框架提供的ActionSupport中繼承,因?yàn)锳ctionSupport中已經(jīng)定義好一些通用的用戶交互功能,如輸入檢驗(yàn)等。Dao組件通常繼承Sping提供的HibernateDaoSupport類,簡(jiǎn)化操作數(shù)據(jù)庫(kù)的編程方法。另外,系統(tǒng)中還有與關(guān)系數(shù)據(jù)表映射的持久化PO類。因此,得出系統(tǒng)的類圖,如圖2所示:

        圖2 系統(tǒng)類圖

        由于篇幅原因部分接口和類未在圖中列出。

        4 結(jié)束語(yǔ)

        基于SSH的系統(tǒng)可以很好地實(shí)現(xiàn)表現(xiàn)層、業(yè)務(wù)邏輯層及數(shù)據(jù)存取層的相互獨(dú)立, 使系統(tǒng)具有很好的穩(wěn)定性、可擴(kuò)展性和可維護(hù)性,并能提高系統(tǒng)的開(kāi)發(fā)效率。但目前這三個(gè)層次往往是在相同的應(yīng)用程序服務(wù)器上運(yùn)行,對(duì)于大型的軟件系統(tǒng),容易造成服務(wù)器的負(fù)擔(dān)過(guò)重,如何有效地把 3個(gè)層次進(jìn)行分開(kāi)部署和運(yùn)行,是值得繼續(xù)深入研究的問(wèn)題。

        [1]周文瓊,王樂(lè)球,湯君武, 曾慶斌.基于SSH呼叫中心排班系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).軟件導(dǎo)刊[J], 2011(4):53-55

        [2]李雷孝,劉曉軍,劉利民,包力.基于 SSH 整合框架的科研項(xiàng)目管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).[J].內(nèi)蒙古農(nóng)業(yè)大學(xué)學(xué)報(bào),2012(1):210-214

        [3]張紅衛(wèi), 賈松濤,李曉,王磊.基于SSH的多語(yǔ)種構(gòu)件庫(kù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用軟件,2010(5):139-142

        [4]楊鐘鳴.基于 SSH框架的社區(qū)管理信息系統(tǒng)設(shè)計(jì)[J].東華理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2010(4):379-383

        猜你喜歡
        表示層視圖辦公室
        辦公室減肥日常
        意林(2021年8期)2021-05-06 03:23:58
        辦公室迷惑日常
        意林(2020年22期)2020-12-04 08:14:52
        辦公室搞笑日常
        意林(2020年11期)2020-07-03 02:48:37
        基于Spring的企業(yè)級(jí)Web項(xiàng)目架構(gòu)設(shè)計(jì)研究
        軟件(2019年6期)2019-10-08 06:27:21
        5.3 視圖與投影
        視圖
        Y—20重型運(yùn)輸機(jī)多視圖
        SA2型76毫米車載高炮多視圖
        ASP.NET三層構(gòu)架解析
        基于SSH框架科研管理系統(tǒng)的設(shè)計(jì)
        亚洲av男人的天堂在线观看 | 极品尤物在线精品一区二区三区| 中国少妇×xxxx性裸交| 色播久久人人爽人人爽人人片av| 综合色天天久久| 国产av一区麻豆精品久久| 狠狠综合久久av一区二区蜜桃| 国产熟妇按摩3p高潮大叫| 欧美精品中文字幕亚洲专区| 热热久久超碰精品中文字幕| 国产嫩草av一区二区三区| 久久精品国产色蜜蜜麻豆| 国产农村妇女毛片精品久久久| 人妻色中文字幕免费视频| 亚洲男人天堂一区二区| 影音先锋男人站| 国产成人8x视频网站入口| 在线视频精品少白免费观看| 欧美肥妇毛多水多bbxx水蜜桃| 成人做爰视频www| 熟妇人妻不卡中文字幕| 亚洲国产国语对白在线观看| 成人免费无遮挡在线播放| 国产一区二区三区四区五区vm| 精品中文字幕手机在线| av影院手机在线观看| 成人a级视频在线观看| 无码国产精品第100页| 中文字幕文字幕视频在线| 三年片在线观看免费观看大全中国| 久久亚洲精品无码gv| 国产一区二区三区视频大全| 91精品国产综合久久久密臀九色| 美丽小蜜桃1一3在线观看| 青青青爽在线视频观看| 91av小视频| 久久蜜臀av一区三区| 一边摸一边抽搐一进一出视频| 欧美mv日韩mv国产网站| 无码三级国产三级在线电影| 国产亚洲精品视频一区二区三区|