【正文】
。這些種種困難就為重新使用業(yè)務(wù)邏輯以及界面邏輯帶來極大的困難,同時(shí)也為系統(tǒng)技術(shù)帶來巨大的要求,有一些困難可以通過一些渠道改變,但是有一些困難并不是能夠改進(jìn)。視圖模型能夠查詢其他的操作業(yè)務(wù),只是無法對(duì)模式的做任何修 改,但還可以接受的模型視圖 發(fā)過來的數(shù)據(jù),通過數(shù)據(jù)進(jìn)行更新視圖中的事件,進(jìn)而就可以將顯現(xiàn)的界面進(jìn)行同步的更新。當(dāng)時(shí), MVC 且不一樣,它是采取強(qiáng)制措施將這兩個(gè)層面分離開來。 Struts 概述 Struts 是一個(gè)在 Java Servlet 和 Java Server Page 技術(shù)中被用來構(gòu)建 Java Web 應(yīng)用程序的開源框架,是 Jakarta Project 的一部分。 圖 ActionForm Bean 的作用 成都電子科技大學(xué)學(xué)位論文 14 從圖中可以看出來, Struts 框架是把用戶輸送進(jìn)來的表單數(shù)據(jù)保存到 ActionForm Bean之中,然后再根據(jù)組件傳輸?shù)娇刂破?,而控制器且要?duì) ActionForm Bean 中的數(shù)據(jù)進(jìn)行處理,不符合標(biāo)準(zhǔn)要求的就要進(jìn)行修改, “ 這樣到達(dá) JSP 文件中所使用的 Struts 標(biāo)簽,就是經(jīng)過一些讀取修改之后的 ActionForm Bean 信息,就重新設(shè)置了 HTML 的表單 ” [17]。在設(shè)計(jì)的時(shí)候,最為常見的做法就是將業(yè)務(wù)邏輯放進(jìn)單獨(dú)的 EJB 包或者 Java 包中,這樣就可以大大提高應(yīng)用程序的可重用性以及靈活性。 ( 4),當(dāng)采用 ActionForm 之中 的 validate()方法 進(jìn)行驗(yàn)證,如果 ActionForm 之中 的validate()方法 返回了一個(gè)空( null)或者是返回沒有包含 ActionMessage 的 ActionErrors對(duì)象 ,且就是表示這個(gè) 表單的驗(yàn)證以及獲得成功。 實(shí)際 學(xué)生信息管理系統(tǒng)的主要設(shè)計(jì)思想為: ( 1) . 適應(yīng)新體制下學(xué)生管理模式的要求 系統(tǒng)要求 一般 具有較高的跨平臺(tái)性, 并 能夠適用于不同的職能部門, 并 且還 能 體現(xiàn)出 與具體的業(yè)務(wù)邏輯 種種 不同 。 經(jīng)濟(jì)可行性 隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,其生產(chǎn)的成本也在逐漸的縮減,計(jì)算機(jī)硬件系統(tǒng)的價(jià)格越來越低,硬件的性能越來越高。 (2) 對(duì)于一個(gè)系統(tǒng)來說擁有吸引人眼球的用戶界面是根本,這樣就能夠讓各種基本信息的輸入應(yīng)簡(jiǎn)便、高效、快速;對(duì)于適合批量處理的錄入 數(shù)據(jù)盡量實(shí)現(xiàn)批量處理。因?yàn)檫@部分內(nèi)容是其他各個(gè)管理模塊的基礎(chǔ),所以我們進(jìn)行詳細(xì)的介紹,通過介紹去掌握其中的一些關(guān)鍵之處 。招生工作是依據(jù)國(guó)家教育部的相關(guān)政策,制定出符合本學(xué)校的招生流程并實(shí)施的部門。這部分管理主要是由學(xué)校的職能部門來完成的,因 此也只有只能部門才具備修改權(quán)限。 事實(shí)上,再先進(jìn)再完善的系統(tǒng)都不可能一直適應(yīng)發(fā)展,因此只有具備了連接性與可擴(kuò)展性才能夠兼容先進(jìn)技術(shù),才具有開發(fā)的意義。在系統(tǒng)的日常運(yùn)行中,經(jīng)常有糾正數(shù)據(jù)錯(cuò)誤、更新數(shù)據(jù)等工作,需要維護(hù)人員的干預(yù)。 系統(tǒng)可行性分析 對(duì)于開發(fā)出來的系統(tǒng)而言,其可行性是至關(guān)重要的。 成都電子科技大學(xué)學(xué)位論文 18 第四章 系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn) 選好了系統(tǒng)的開發(fā)操作平臺(tái)之后就要著手實(shí)施,就要根據(jù)前期的規(guī)劃對(duì)大學(xué)生信息管理系統(tǒng)進(jìn)行整體的設(shè)計(jì),達(dá)到最終的目標(biāo)。如果這個(gè)實(shí)例不存在,就要將不存在的信息返回到用戶請(qǐng)求,告訴用戶這個(gè)路徑是錯(cuò)誤的,是無效的信息。但是大型而復(fù)雜的應(yīng)用程序就沒有這么簡(jiǎn)單了, Action 類就必須充當(dāng)業(yè)務(wù)邏輯的處理與用戶請(qǐng)求之間的適配器( Adptor), 這樣做的目的就是將業(yè)務(wù)邏輯和請(qǐng)求分離開來,然后 Action 類會(huì)根據(jù)用戶發(fā)送過來的請(qǐng)求調(diào)用出有關(guān)聯(lián)的業(yè)務(wù)邏輯組件,做好處理。就是這些標(biāo)簽也沒用一個(gè)固定的標(biāo)準(zhǔn),可以是客戶化的標(biāo)簽,也可以是標(biāo)準(zhǔn)的 JSP 標(biāo)簽,幾乎都是根據(jù)實(shí)際情況而定的。因?yàn)橐粋€(gè)軟件構(gòu)思的框架好壞,直接決定著開發(fā)出來的軟件實(shí)施之后的效率與速度,也關(guān)系著該軟件使用之后的維護(hù)。 MVC 的 處理過程 由圖 22 可知, MVC 模式 工作的時(shí)候其工作過程如下: (1) 控制器 Servlet 主要是 作用就是 接受客戶端的請(qǐng)求; (2) 選擇模型調(diào)用業(yè)務(wù)邏輯處理用戶請(qǐng)求; (3) 控制 之后就將數(shù)據(jù) 傳遞 到 視圖( JSP); (4) JSP 就會(huì)從模型中接受到 相關(guān)數(shù)據(jù); (5) 將處理的數(shù)據(jù)反送到 客戶端。從設(shè)計(jì)上來看 MVC 是將應(yīng)用程序劃分成 3 個(gè)模塊:即使上提到的模型 — 視圖 — 控制器,這三個(gè)模塊都承擔(dān)著重要的任務(wù),但彼此的任務(wù)又不相同 [11]。 事實(shí)上,并沒用刻意的要設(shè)計(jì) J2EE 體系結(jié)構(gòu),開始設(shè)計(jì) J2EE 目標(biāo)就是想解決傳統(tǒng)模式中的諸多問題,尤其是傳統(tǒng)的二層模式 ( Client/Server)的弊端 。因此,本文注重系統(tǒng)開發(fā)的工具,在特定的工具下進(jìn)行設(shè)計(jì)彌補(bǔ)一些實(shí)用中的不足。 成都電子科技大學(xué)學(xué)位論文 4 作為我國(guó)教育和科研前沿的高校教育,有責(zé)任也有義務(wù)解決市場(chǎng)經(jīng)濟(jì)帶來的壓力。因此,這樣 的管理模式還停留在單項(xiàng)管理水平之上。這樣的缺陷為整個(gè)學(xué)校系統(tǒng)工作帶來諸多的不便。s modernization difficult to measure, so it has some utility up and development of students under the work environment information management system, and can provide strong technical support for crosscentury project, expanding higher education in China information management system is a species of advanced integrated management tool that integrates with management science, information science, system science, modern munications technology and puter technology in recent years, information technology, puter technology and management technology advances panying, students of information management systems have procurement both in theory and in the great development of mining model and its application more widely. this provides a guarantee, in the time tracking, information integration, information sharing, improve management efficiency。而筆者又在軟件工程系統(tǒng)中學(xué)習(xí),所以才產(chǎn)生了做一個(gè)大學(xué)生信息管理系統(tǒng)的畢業(yè)設(shè)計(jì)的想法。目前, 對(duì) Web 的應(yīng)用不但要求提高了,就是系統(tǒng)的擴(kuò)展性、穩(wěn)定性以及可維護(hù)性也提出更高的目標(biāo)。在今天的 Web應(yīng)用系統(tǒng)中,存在著諸多的不足之處,比如維護(hù)的工作比較繁瑣,可重用的程度較低 [1],應(yīng)變能力比較薄弱等,這些問題都迫切需要改進(jìn)與完善。在這個(gè)過程之中,用戶占據(jù)了主要的地位,開 發(fā)人員要根據(jù)用戶摘要 III 的要求進(jìn)行數(shù)據(jù)分析,通過數(shù)據(jù)整理、分析與驗(yàn)證等用戶需要的工程。 關(guān) 鍵詞: J2EE 模式 MVC Struts 信息管理系統(tǒng) ABSTRACT ABSTRACT I ABSTRACT With dramatic development of Inter technology, Web applications have drawn wider attention than ever before. Nevertheless, low maintainability and reusability, and inflexibility are very mon phenomena in Web applications. Consequently, hierarchical designing, the framework of each subtier, and selection of development technology bee more and more important with plexity of requirement analysis. Constraints of Ramp。 現(xiàn)在很多的學(xué)校針對(duì)學(xué)校的日常管理工作、日常教學(xué)工作以及學(xué)籍管理都采用了計(jì)算機(jī)管理;例如,教務(wù)處在管理學(xué)生的成績(jī)上采用了成績(jī)管理系統(tǒng),財(cái)務(wù)處在收繳費(fèi)用以及信息管理上使用財(cái)務(wù)管理系統(tǒng)等。從現(xiàn)實(shí)情況來看,現(xiàn)狀學(xué)校對(duì)大學(xué)生的信息管理普遍都還存在三種模式?;?J2EE 架構(gòu)的 MVC(模型視圖控制器)模式,為 Web 應(yīng)用程序開發(fā)技術(shù)提供了一種可重復(fù)使用的架構(gòu),這使得解決目標(biāo)領(lǐng)域的問題變得十分簡(jiǎn)單。而且經(jīng)過信息系統(tǒng)的開發(fā),能夠?qū)F(xiàn)代化的教育、管理水平融入到現(xiàn)代化管理中。 這樣的管理模式已經(jīng)跟不上計(jì)算機(jī)技術(shù)和信息 技術(shù)的發(fā)展需要,必須要做出相應(yīng)的改善策略。最近一些年以來,又推出了一些新的設(shè)計(jì)軟件。 而且,一個(gè)模型也不是只能為一個(gè)視圖服務(wù),而是能夠面對(duì)多個(gè)視圖同時(shí)提供數(shù)據(jù)信號(hào),也即是一個(gè)模型能夠?yàn)槎鄠€(gè)視圖重復(fù)使用,這樣就在過去傳統(tǒng)的模式上提高了使用率,以及增強(qiáng)了程序代碼可以重復(fù)使用的幾率。該系統(tǒng)開發(fā)所使用的是 J2EE 體系 結(jié)構(gòu)下采用 MVC 的設(shè)計(jì)模式,分別從 J2EE 體系的概述,體系結(jié)構(gòu),以及 MVC 設(shè)計(jì)模式中的視圖、模型、控制器等幾個(gè)方面做了論述。 第 三 章 系統(tǒng)的 分析與設(shè)計(jì) 13 Struts 最終可以 實(shí)現(xiàn) MVC 的 框架 , 如圖 所示。“ 假如遇到這個(gè) Action 對(duì)象沒有存在的情況, ActionServlet 就會(huì)自己先創(chuàng)建出這 個(gè) Action 對(duì)象 ” [19]。 Struts 響應(yīng)用戶 的 請(qǐng)求工作流程如圖 所示 [19]。 ,本章小結(jié) 本章節(jié)主要是對(duì)構(gòu)思好的開發(fā)計(jì)劃進(jìn)行系統(tǒng)的分析與設(shè)計(jì),對(duì)于一個(gè)系統(tǒng)開發(fā)來說,實(shí)施的第一步就是要選好應(yīng)用框架,因?yàn)橐?個(gè)設(shè)計(jì)框架的好壞決定著實(shí)施中的效率與速度。 第四章 系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn) 19 ( 4) . 采用最新軟件開發(fā)技術(shù) 隨著信息技術(shù)的高速發(fā)展,系統(tǒng)數(shù)據(jù)量和用戶數(shù)量的不斷增加,過去那種傳統(tǒng)的 軟件 技術(shù)已經(jīng)跟不上時(shí)代的需要,必須要在前進(jìn)中被淘汰,只有采用新的編程技術(shù)開發(fā) 才 能夠確保系統(tǒng)擁有較長(zhǎng)的生命周 期。這里學(xué)生主要是要進(jìn)行網(wǎng)上選課和提交其他相關(guān)的信息,以便學(xué)校的職能部門 能夠及時(shí)掌握學(xué)生在校期間的學(xué)習(xí)狀況?,F(xiàn)在的市場(chǎng)競(jìng)爭(zhēng)十分激烈,如果開發(fā)出來的系統(tǒng)性能和其他系統(tǒng)一樣,但是價(jià)格卻比其他系統(tǒng)高很多,那么勢(shì)必在競(jìng)爭(zhēng)中落敗。 ★ 數(shù)據(jù)維護(hù)管理:主要是要求系統(tǒng)定期的為數(shù)據(jù)庫做出備份,現(xiàn)在計(jì)算機(jī)技術(shù)與網(wǎng)絡(luò)技術(shù)發(fā)展相當(dāng)快,但其網(wǎng)絡(luò)安全也是日漸加劇,尤其出現(xiàn)了病毒和木馬攻擊,很容易造成系統(tǒng)受染。學(xué)科基礎(chǔ)建設(shè)主要包括學(xué)科人員配備信息,學(xué)術(shù)梯成都電子科技大學(xué)學(xué)位論文 24 隊(duì)信息,科研情況信息,學(xué)生培養(yǎng)情況信息等。對(duì)于公共信息管理不是所有的人都能夠參與,只有管理員才具備管理的權(quán)限才能進(jìn)行維護(hù),而其他用戶無權(quán)訪問,這一層必須要把握好尺度,否則就可能泄露學(xué)校中 一些重要信息。 (4) 同時(shí),系統(tǒng)還應(yīng)該提供完善的校驗(yàn)規(guī)則,還應(yīng)該盡量避免由于無意造成的誤操作而產(chǎn)生的錯(cuò)誤數(shù)據(jù)存入數(shù)據(jù)庫,以此減輕日后的系統(tǒng)維護(hù)工作。因此本系統(tǒng)可以說需要的軟件與硬件要求都比較低,不需要花費(fèi)大量的經(jīng)濟(jì)資源,如果從經(jīng)濟(jì)層面上來分析是可行的,其市場(chǎng)前景也是非常樂觀的。 只有具備了這樣的設(shè)計(jì)思想設(shè)計(jì)出來的模塊,才具有真正的使用價(jià)值 。 ( 5),同時(shí) ActionServlet 還會(huì) 根據(jù) ActionMapping 實(shí)例 之中包含哪種映射信息,根據(jù)這些信息做出合理的決定并將這些決定信息轉(zhuǎn)發(fā)到相應(yīng)的 Action 中去 。用戶可以根據(jù)組件的需要去定義自己的 Action 類, 也就是 Action 基類 中的 子類, 這就是 必須覆蓋 的 execute()方法。系統(tǒng)內(nèi)部狀態(tài)的表示 法相當(dāng)多 (例如 Servlet 以及 JSP),但 是在開發(fā)的時(shí)候,很多開發(fā)人員會(huì)將 STRUTS應(yīng)用程序 視為 一組 JavaBean,并 把當(dāng)前狀態(tài)定義成 JavaBean 屬性。 對(duì)于 該 模型來說, Struts 可以很好的與標(biāo)準(zhǔn)的數(shù)據(jù)訪問技術(shù) 進(jìn)行 互動(dòng),像 JDBC 和 EJB。通過實(shí)踐匯就可以發(fā)現(xiàn) MVC 的設(shè)計(jì)模型,當(dāng)用戶發(fā)出了請(qǐng)求之后,模式很快做出響應(yīng),并將這個(gè)響應(yīng)返回到相關(guān)的數(shù)據(jù),然后模式就將這些數(shù)據(jù)傳送到視圖,視 圖主要就是負(fù)責(zé)數(shù)據(jù)的格式化,并且還要將這些格式化之后的數(shù)據(jù)呈現(xiàn)在用戶面前,將表示層與業(yè)務(wù)邏輯分離出來,這樣同一個(gè),模型就能夠被多個(gè)不同的視圖重復(fù)使用,這樣的共享確實(shí)能夠提高代碼重復(fù)使用性,大大的提高了使用效率。所謂的 模型,這里指的是執(zhí)行任務(wù)的真正代碼,其中包含應(yīng)用程序的核心功能,以及應(yīng)用系統(tǒng)的數(shù)據(jù),并包括維護(hù)、訪問以及管理這成都電子科技大學(xué)學(xué)位論文 10 些邏輯數(shù)據(jù)。 J2EE 的多層應(yīng)用結(jié)構(gòu)如圖 所示。當(dāng)然,這樣做的最終目的 就是開發(fā)出