国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Struts技術在科研管理系統中的應用

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

唐春玲 胡方霞 李惠玲 張 燕

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

Struts技術在科研管理系統中的應用

唐春玲 胡方霞 李惠玲 張 燕

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

分析MVC設計模式和Struts的工作原理,針對科研管理系統的特點,在系統中采用Struts技術,并通過實例介紹其在應用程序中的具體應用。

Struts;MVC;科研管理系統;B/S

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

1 Struts框架

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

1.1 MVC介紹

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

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

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

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

圖1 MVC模式

1.2 框架介紹

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

Struts的工作流程為:

(1)整個應用由客戶端請求驅動;

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

(3)ActionServlet根據請求決定是否需要調用業(yè)務邏輯控制器處理用戶請求(實際上,業(yè)務邏輯控制器還是控制器,它只是負責調用模型來處理用戶請求);

(4)當用戶請求處理完成后,其處理結果通過JSP呈現給用戶,程序運行流程圖如圖2所示[5]。

圖2 Struts程序運行流程

2 系統設計與開發(fā)

系統采用B/S結構即瀏覽器/服務器結構。系統配置如下:

WEB服務器:Tomcat6

數據庫:SQL Server2005。

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

客 戶 端 :Netscape Navigator或 者 Internet Explorer。

2.1 功能模塊介紹

本系統以項目申報為主,總體功能結構如下:項目管理模塊,科研成果管理模塊,專家管理模塊,相關下載和用戶管理模塊。

(1)項目管理模塊

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

(2)科研成果管理模塊

該模塊完成對學校每個部門科研項目的匯總。

(3)專家管理模塊

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

(4)相關下載模塊

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

(5)用戶管理模塊

該模塊下分個人管理、審批管理兩個子模塊。個人管理可以修改個人信息和密碼。審批管理可以對當前注冊用戶進行審批并賦予相應的角色權限,其中角色權限分為普通用戶,部門負責人和專家。

2.2 系統設計

下面以項目管理模塊中的項目信息填寫為例,介紹應用Struts技術對系統進行開發(fā)設計的過程。

(1)視圖

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

(2)控制器

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

(3)模型

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

(4)配置文件

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

<action-mappings>

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

3 結 語

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

[1]王明,陸正球.基于MVC科研管理系統的研究與實現[J].微計算機應用,2009(1):11-12.

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

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

[4]吳興惠,陳明銳,賴文志.基于Struts的高校科研管理系統的設計與實現[J].海南廣播電視大學學報,2008(1):91-93.

[5]李剛.Struts2權威指南—基于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-),女,吉林汪清人,碩士,講師,研究方向為數字信號處理。

猜你喜歡
視圖申報組件
少先隊活動(2022年9期)2022-11-23 06:56:24
無人機智能巡檢在光伏電站組件診斷中的應用
能源工程(2022年2期)2022-05-23 13:51:50
新型碎邊剪刀盤組件
重型機械(2020年2期)2020-07-24 08:16:16
U盾外殼組件注塑模具設計
國際收支間接申報問答
中國外匯(2019年13期)2019-10-10 03:37:42
5.3 視圖與投影
視圖
Y—20重型運輸機多視圖
現代兵器(2017年4期)2017-06-02 15:59:24
SA2型76毫米車載高炮多視圖
現代兵器(2017年4期)2017-06-02 15:58:14
《申報》與上海民國時期禁戲
中華戲曲(2016年1期)2016-09-26 08:49:02
鄱阳县| 明光市| 独山县| 洪江市| 正阳县| 德惠市| 东城区| 南平市| 固原市| 汤阴县| 西和县| 资源县| 精河县| 台州市| 桂阳县| 游戏| 盖州市| 莱州市| 道孚县| 三亚市| 江油市| 封开县| 梁山县| 淮安市| 吴桥县| 临泽县| 邛崃市| 刚察县| 拉萨市| 西林县| 灵寿县| 韩城市| 漳平市| 达日县| 济阳县| 青河县| 牡丹江市| 思南县| 汶川县| 凤山市| 青龙|