• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

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

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

      唐春玲 胡方霞 李惠玲 張 燕

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

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

      唐春玲 胡方霞 李惠玲 張 燕

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

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

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

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

      1.1 MVC介紹

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

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

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

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

      圖1 MVC模式

      1.2 框架介紹

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

      Struts的工作流程為:

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

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

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

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

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

      2 系統(tǒng)設(shè)計與開發(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)目申報為主,總體功能結(jié)構(gòu)如下:項(xiàng)目管理模塊,科研成果管理模塊,專家管理模塊,相關(guān)下載和用戶管理模塊。

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

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

      (2)科研成果管理模塊

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

      (3)專家管理模塊

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

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

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

      (5)用戶管理模塊

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

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

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

      (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)的控件時,表示層把用戶請求傳到控制層,由控制層處理,控制層根據(jù)實(shí)際情況調(diào)用業(yè)務(wù)層,完成具體操作,最后通過視圖顯示出來。本系統(tǒng)用戶界面有注冊界面regester.jsp,專家評分界面score.jsp等。以填寫申報項(xiàng)目信息界面projectMessage.jsp為例,此界面需輸入以下信息:項(xiàng)目號ProjectID(系統(tǒng)自動生成),項(xiàng)目名稱ProjectName,項(xiàng)目負(fù)責(zé)人ProjectUser(默認(rèn)的是當(dāng)前用戶), 項(xiàng)目類型ProjectType,申報時間ProjectTime。如果填寫項(xiàng)目信息無誤,則顯示上傳項(xiàng)目申報書界面project.jsp。

      (2)控制器

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

      (3)模型

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

      (4)配置文件

      在Struts系統(tǒng)中控制器ActionServlet是核心,界面中需要執(zhí)行事務(wù)邏輯的表單會提交一個請求,由控制器ActionServlet調(diào)用相應(yīng)的組件。用兩個基于XML的配置文件來配置,分別是web.xml和struts-cofig.xml文件。web.xml文件是配置所有web應(yīng)用的,而struts-config.xml文件是struts專用的配置文件,在本質(zhì)上也是一個基于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)度更快,而且它允許一個模型組件被多個視圖組件共享,這樣大大提高了代碼的可重用性,在可維護(hù)性、交互性上較之一般的J2EE開發(fā)也有明顯的優(yōu)勢。將其運(yùn)用到科研管理系統(tǒng)中不但系統(tǒng)運(yùn)行穩(wěn)定、后期維護(hù)方便、操作簡便,而且提高了工作效率,科研管理流程更加規(guī)范化。

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

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

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

      [4]吳興惠,陳明銳,賴文志.基于Struts的高校科研管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)[J].海南廣播電視大學(xué)學(xué)報,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ù)字信號處理。

      猜你喜歡
      視圖申報組件
      少先隊活動(2022年9期)2022-11-23 06:56:24
      無人機(jī)智能巡檢在光伏電站組件診斷中的應(yīng)用
      能源工程(2022年2期)2022-05-23 13:51:50
      新型碎邊剪刀盤組件
      U盾外殼組件注塑模具設(shè)計
      國際收支間接申報問答
      中國外匯(2019年13期)2019-10-10 03:37:42
      5.3 視圖與投影
      視圖
      Y—20重型運(yùn)輸機(jī)多視圖
      SA2型76毫米車載高炮多視圖
      《申報》與上海民國時期禁戲
      中華戲曲(2016年1期)2016-09-26 08:49:02
      昌吉市| 昭平县| 桦甸市| 闸北区| 太康县| 精河县| 余姚市| 克什克腾旗| 长海县| 望谟县| 望城县| 宜丰县| 锡林郭勒盟| 宽城| 乌兰浩特市| 乌恰县| 临沭县| 扶余县| 定日县| 大同县| 安图县| 界首市| 新邵县| 达孜县| 庆元县| 康平县| 从江县| 汉源县| 曲靖市| 廊坊市| 穆棱市| 宜兰县| 永顺县| 靖宇县| 安龙县| 石柱| 景宁| 永济市| 永福县| 丰原市| 马山县|