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

        ?

        Struts技術(shù)在科研管理系統(tǒng)中的應(yīng)用

        2011-10-31 11:21:18唐春玲胡方霞李惠玲
        關(guān)鍵詞:視圖申報(bào)組件

        唐春玲 胡方霞 李惠玲 張 燕

        (重慶工商職業(yè)學(xué)院,重慶 400052)

        Struts技術(shù)在科研管理系統(tǒng)中的應(yīng)用

        唐春玲 胡方霞 李惠玲 張 燕

        (重慶工商職業(yè)學(xué)院,重慶 400052)

        分析MVC設(shè)計(jì)模式和Struts的工作原理,針對(duì)科研管理系統(tǒng)的特點(diǎn),在系統(tǒng)中采用Struts技術(shù),并通過實(shí)例介紹其在應(yīng)用程序中的具體應(yīng)用。

        Struts;MVC;科研管理系統(tǒng);B/S

        Struts框架是全世界第一個(gè)發(fā)布的MVC框架,它由Apache Software Foundation組織發(fā)布。Struts1框架采用MVC模式將程序代碼分為三部分,把應(yīng)用軟件的輸入、處理和輸出分成不同組件來實(shí)現(xiàn),因此開發(fā)、管理相對(duì)容易。本文設(shè)計(jì)基于Struts技術(shù)的Web應(yīng)用程序。

        1 Struts框架

        目前大多數(shù)開發(fā)系統(tǒng)存在系統(tǒng)結(jié)構(gòu)復(fù)雜,耦合性高,修改、維護(hù)困難等問題,主要在于頁面邏輯、業(yè)務(wù)邏輯和數(shù)據(jù)邏輯糅合在一起所導(dǎo)致。Struts框架采用MVC模式將程序代碼分為三部分,把應(yīng)用軟件的輸入、處理和輸出分成不同組件來實(shí)現(xiàn),因此開發(fā)、管理相對(duì)容易。

        1.1 MVC介紹

        MVC(Model-View-Controller)是模型-視圖-控制器的簡(jiǎn)稱[1],它將系統(tǒng)分為三個(gè)模塊:模型(Model)、視圖(View)和控制器(Controller)(圖 1)[2]。

        (1)模型:模型是應(yīng)用程序的主題部分。模型表示業(yè)務(wù)數(shù)據(jù)和業(yè)務(wù)邏輯。一個(gè)模型能為多個(gè)視圖提供數(shù)據(jù),提高了應(yīng)用的可重用性。

        (2)視圖:視圖是用戶與系統(tǒng)交互的界面。視圖向用戶顯示相關(guān)數(shù)據(jù),并接受用戶的輸入,但視圖并不進(jìn)行任何實(shí)際的業(yè)務(wù)處理。對(duì)于基于請(qǐng)求/響應(yīng)方式的Web應(yīng)用,模型位于服務(wù)器端,視圖位于瀏覽器端。

        (3)控制器:控制器接受用戶的輸入并調(diào)用模型和視圖去完成用戶的請(qǐng)求。當(dāng)Web用戶向服務(wù)器發(fā)送HTML請(qǐng)求時(shí),控制器接受請(qǐng)求并調(diào)用相應(yīng)的模型組件去處理請(qǐng)求,然后調(diào)用相應(yīng)的視圖顯示模型返回的數(shù)據(jù)。

        圖1 MVC模式

        1.2 框架介紹

        Structs1是在JSP Model2基礎(chǔ)上實(shí)現(xiàn)了一個(gè)MVC框架。在Structs1框架中,MVC中的視圖(View)部分由一組 JSP文件構(gòu)成。MVC中的模型(Model)是由底層的業(yè)務(wù)邏輯組件充當(dāng),業(yè)務(wù)邏輯方法的實(shí)現(xiàn)由JavaBean組件完成。控制器(Controller)由兩個(gè)部分組成:核心控制器和業(yè)務(wù)控制器。其中核心控制器是ActionServlet,由Struts1框架提供;業(yè)務(wù)邏輯控制器是用戶自定義的Action,由應(yīng)用開發(fā)者提供[3-4]。

        Struts的工作流程為:

        (1)整個(gè)應(yīng)用由客戶端請(qǐng)求驅(qū)動(dòng);

        (2)當(dāng)客戶端向Web應(yīng)用發(fā)送請(qǐng)求時(shí),請(qǐng)求將被Struts1的核心控制器ActionServlet攔截;

        (3)ActionServlet根據(jù)請(qǐng)求決定是否需要調(diào)用業(yè)務(wù)邏輯控制器處理用戶請(qǐng)求(實(shí)際上,業(yè)務(wù)邏輯控制器還是控制器,它只是負(fù)責(zé)調(diào)用模型來處理用戶請(qǐng)求);

        (4)當(dāng)用戶請(qǐng)求處理完成后,其處理結(jié)果通過JSP呈現(xiàn)給用戶,程序運(yùn)行流程圖如圖2所示[5]。

        圖2 Struts程序運(yùn)行流程

        2 系統(tǒng)設(shè)計(jì)與開發(fā)

        系統(tǒng)采用B/S結(jié)構(gòu)即瀏覽器/服務(wù)器結(jié)構(gòu)。系統(tǒng)配置如下:

        WEB服務(wù)器:Tomcat6

        數(shù)據(jù)庫:SQL Server2005。

        JAVA開發(fā)工具:MyEclipse8.6+JDK1.6其中使用到Struts技術(shù),Herbernate等技術(shù)。

        客 戶 端 :Netscape Navigator或 者 Internet Explorer。

        2.1 功能模塊介紹

        本系統(tǒng)以項(xiàng)目申報(bào)為主,總體功能結(jié)構(gòu)如下:項(xiàng)目管理模塊,科研成果管理模塊,專家管理模塊,相關(guān)下載和用戶管理模塊。

        (1)項(xiàng)目管理模塊

        項(xiàng)目管理模塊分為科研活動(dòng)管理、項(xiàng)目申報(bào)兩個(gè)子模塊??蒲谢顒?dòng)管理子模塊的功能是設(shè)置學(xué)校每次科研活動(dòng)申報(bào)時(shí)間等信息,并可查詢和修改。項(xiàng)目申報(bào)子模塊的功能是查詢每個(gè)項(xiàng)目的申報(bào)、審批、立項(xiàng)、進(jìn)度等,還可以對(duì)經(jīng)費(fèi)進(jìn)行管理。經(jīng)費(fèi)管理包括經(jīng)費(fèi)來源、經(jīng)費(fèi)使用計(jì)劃和實(shí)際使用情況等。

        (2)科研成果管理模塊

        該模塊完成對(duì)學(xué)校每個(gè)部門科研項(xiàng)目的匯總。

        (3)專家管理模塊

        該模塊可設(shè)置科研活動(dòng)中的評(píng)審專家,并為評(píng)審專家分組,為某個(gè)項(xiàng)目指定專家,收集專家意見等。

        (4)相關(guān)下載模塊

        該模塊可以對(duì)科研活動(dòng)中使用的文件表格進(jìn)行下載。

        (5)用戶管理模塊

        該模塊下分個(gè)人管理、審批管理兩個(gè)子模塊。個(gè)人管理可以修改個(gè)人信息和密碼。審批管理可以對(duì)當(dāng)前注冊(cè)用戶進(jìn)行審批并賦予相應(yīng)的角色權(quán)限,其中角色權(quán)限分為普通用戶,部門負(fù)責(zé)人和專家。

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

        下面以項(xiàng)目管理模塊中的項(xiàng)目信息填寫為例,介紹應(yīng)用Struts技術(shù)對(duì)系統(tǒng)進(jìn)行開發(fā)設(shè)計(jì)的過程。

        (1)視圖

        系統(tǒng)視圖部分主要是由JSP技術(shù)實(shí)現(xiàn),是系統(tǒng)的顯示部分,是系統(tǒng)與用戶的接口,由一系列HTML頁面和JSP頁面組成。這些jsp文件中不添加任何業(yè)務(wù)邏輯處理代碼,只添加一些JSP標(biāo)簽。當(dāng)用戶在頁面點(diǎn)擊相應(yīng)的控件時(shí),表示層把用戶請(qǐng)求傳到控制層,由控制層處理,控制層根據(jù)實(shí)際情況調(diào)用業(yè)務(wù)層,完成具體操作,最后通過視圖顯示出來。本系統(tǒng)用戶界面有注冊(cè)界面regester.jsp,專家評(píng)分界面score.jsp等。以填寫申報(bào)項(xiàng)目信息界面projectMessage.jsp為例,此界面需輸入以下信息:項(xiàng)目號(hào)ProjectID(系統(tǒng)自動(dòng)生成),項(xiàng)目名稱ProjectName,項(xiàng)目負(fù)責(zé)人ProjectUser(默認(rèn)的是當(dāng)前用戶), 項(xiàng)目類型ProjectType,申報(bào)時(shí)間ProjectTime。如果填寫項(xiàng)目信息無誤,則顯示上傳項(xiàng)目申報(bào)書界面project.jsp。

        (2)控制器

        視圖發(fā)送請(qǐng)求后由核心控制器ActionServlet決定調(diào)用合適的業(yè)務(wù)控制器Action。以項(xiàng)目申請(qǐng)的Project.Action為例,控制器包括一個(gè)Action類ProjectMessageAction, 這個(gè)Java類一般從org.apache.struts.action.Action類繼承。控制器的主要任務(wù)是接受并處理從projectMessage.jsp接收的項(xiàng)目申報(bào)有關(guān)信息,若信息正確,則申報(bào)成功,跳轉(zhuǎn)到project.jsp頁面,上傳項(xiàng)目申報(bào)申請(qǐng)書;否則申報(bào)失敗,則跳轉(zhuǎn)到ProjectMessagefailed.jsp頁面,提示出錯(cuò)信息。在實(shí)現(xiàn)控制器之前,需要先實(shí)現(xiàn)一個(gè)ActionForm類,這個(gè)類的作用是保存JSP頁面提交的數(shù)據(jù)。ActionForm類一般從org.apache.struts.action.ActionForm類繼承,而且在類中需要按著需要保存的數(shù)據(jù)表字段添加屬性。ActionForm類的屬性取名時(shí)要注意,必須和JSP頁面中的<html>標(biāo)簽的property屬性值一致,如果不一致,將會(huì)拋出異常。

        (3)模型

        模型由實(shí)現(xiàn)業(yè)務(wù)邏輯的JavaBean組件構(gòu)成,主要用來在視圖組件和控制器組件之間傳遞HTML表單數(shù)據(jù),一般每個(gè)HTML表單對(duì)應(yīng)一個(gè)ActionForm Bean。項(xiàng)目信息填寫的ActionForm Bean由ProjectMessageForm構(gòu)成,在ProjectMessageForm中需要操縱數(shù)據(jù)庫,而項(xiàng)目中大量程序都要操縱數(shù)據(jù)庫,因此單獨(dú)編寫了一個(gè)ConDatabase連接數(shù)據(jù)庫的父類,項(xiàng)目中需要連接數(shù)據(jù)庫的程序只要繼承此父類就可以了。此外還在ActionForm中使用了validate()方法用于檢驗(yàn)用戶輸入數(shù)據(jù)的合法性。在類中還使用了一個(gè)ProductForm類,這個(gè)類是一個(gè)ActionForm類,它的功能是保存客戶端提交的數(shù)據(jù)。以下是ProjectMessageForm的實(shí)現(xiàn)代碼。

        (4)配置文件

        在Struts系統(tǒng)中控制器ActionServlet是核心,界面中需要執(zhí)行事務(wù)邏輯的表單會(huì)提交一個(gè)請(qǐng)求,由控制器ActionServlet調(diào)用相應(yīng)的組件。用兩個(gè)基于XML的配置文件來配置,分別是web.xml和struts-cofig.xml文件。web.xml文件是配置所有web應(yīng)用的,而struts-config.xml文件是struts專用的配置文件,在本質(zhì)上也是一個(gè)基于Servlet的Web應(yīng)用,他將系統(tǒng)中的各組件結(jié)合在一起。在strutsconfig.xml文件中通過<action-mapping>元素中的<action>子元素指定需要訪問的Action路徑,以下是項(xiàng)目信息填寫功能的<action-mapping>:

        <action-mappings>

        <action name=” ProjectMessageForm” type=”KYXT..action.ProjectMessageAction” validate= ”true”in put=”projectMessage.jsp” scope=”request” path=”/ProjectMessageAction”>

        3 結(jié) 語

        Struts技術(shù)可以把用戶界面、業(yè)務(wù)過程、業(yè)務(wù)邏輯和業(yè)務(wù)控制進(jìn)行分離,使得程序開發(fā)過程效率更高,進(jìn)度更快,而且它允許一個(gè)模型組件被多個(gè)視圖組件共享,這樣大大提高了代碼的可重用性,在可維護(hù)性、交互性上較之一般的J2EE開發(fā)也有明顯的優(yōu)勢(shì)。將其運(yùn)用到科研管理系統(tǒng)中不但系統(tǒng)運(yùn)行穩(wěn)定、后期維護(hù)方便、操作簡(jiǎn)便,而且提高了工作效率,科研管理流程更加規(guī)范化。

        [1]王明,陸正球.基于MVC科研管理系統(tǒng)的研究與實(shí)現(xiàn)[J].微計(jì)算機(jī)應(yīng)用,2009(1):11-12.

        [2]孫衛(wèi)琴.精通Struts:基于MVC的JavaWeb設(shè)計(jì)與開發(fā)[M].北京:電子工業(yè)出版社,2004.

        [3]曾宇胸,王非.基于Struts框架技術(shù)的WEB應(yīng)用系統(tǒng)[J].計(jì)算機(jī)應(yīng)用與軟件,2008(7):196-197.

        [4]吳興惠,陳明銳,賴文志.基于Struts的高校科研管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].海南廣播電視大學(xué)學(xué)報(bào),2008(1):91-93.

        [5]李剛.Struts2權(quán)威指南—基于WebWork核心的MVC開發(fā)[M].北京:電子工業(yè)出版社,2007.

        Abstract:This article firstly analyzes the MVC design pattern and the mechanism of Struts.According to the characteristics of scientific management system,Struts is used in this system and then a real Web application is taken as an example to show a detailed application of Struts.

        Key words:Struts;MVC;scientific management system;B/S

        Application of Struts Technique in Scientific Management System

        TANG Chun-ling HU Fang-xia LI Hui-ling ZHANG Yan
        (Chongqing Technology and Business Institute,Chongqing 400052)

        TP311

        A

        1673-1980(2011)06-0183-03

        2011-07-23

        唐春玲(1981-),女,吉林汪清人,碩士,講師,研究方向?yàn)閿?shù)字信號(hào)處理。

        猜你喜歡
        視圖申報(bào)組件
        “少年工程院活動(dòng)?!濒摺昂教煳磥砣瞬排囵B(yǎng)?!惫餐陥?bào)
        無人機(jī)智能巡檢在光伏電站組件診斷中的應(yīng)用
        能源工程(2022年2期)2022-05-23 13:51:50
        新型碎邊剪刀盤組件
        U盾外殼組件注塑模具設(shè)計(jì)
        國際收支間接申報(bào)問答
        中國外匯(2019年13期)2019-10-10 03:37:42
        5.3 視圖與投影
        視圖
        Y—20重型運(yùn)輸機(jī)多視圖
        SA2型76毫米車載高炮多視圖
        《申報(bào)》與上海民國時(shí)期禁戲
        中華戲曲(2016年1期)2016-09-26 08:49:02
        草逼短视频免费看m3u8| 国产精品无码久久久一区蜜臀| 四虎无码精品a∨在线观看| 国产少妇高潮在线视频| 亚洲中文字幕无码爆乳app| 日韩亚洲av无码一区二区不卡 | 免费看久久妇女高潮a| 美女超薄透明丝袜美腿| 少妇我被躁爽到高潮在线影片| 精品香蕉一区二区三区| 亚洲日本在线电影| 中文字幕永久免费观看| 最新国产精品国产三级国产av | 久久免费国产精品| 激情视频在线观看国产中文| 天天射综合网天天插天天干| 日本入室强伦姧bd在线观看| 久久精品国波多野结衣| 午夜精品一区二区三区av免费| 亚洲一区二区三区高清在线| 国产成熟人妻换╳╳╳╳| 亚洲最新版无码AV| 午夜国产精品一区二区三区| 内射中出日韩无国产剧情| 亚洲av综合av国产av| 日韩精品永久免费播放平台| 日本中文字幕有码在线播放| 国产成人av综合色| 亚洲精品国产成人AV| 亚洲视频在线观看青青草| 成人国产一区二区三区| 性一交一乱一乱一视频| 中文字幕人成人乱码亚洲| 国产精品伦理久久一区| 亚洲成aⅴ人片久青草影院| 亚州综合激情另类久久久| 国产美女主播福利一区| 久久婷婷五月综合色奶水99啪| 麻豆亚洲av永久无码精品久久| 久久99精品久久久久久国产人妖| 一区二区在线视频免费蜜桃|