




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、.文獻(xiàn)綜述基于WEB的J2EE的信息系統(tǒng)的方法研究摘要:本文介紹基于項目的Java開發(fā)框架背后的概念,并介紹它如何用于IT項目開發(fā)。因為有許多相同設(shè)計和開發(fā)工作在不同的方式下重復(fù),而且并不總是符合最佳實踐,所以許多開發(fā)框架建立了。我們已經(jīng)定義了共同關(guān)注的問題和應(yīng)用模式,代表有效解決辦法的工具。開發(fā)框架提供:(1)從用戶界面到數(shù)據(jù)集成的應(yīng)用程序開發(fā)堆棧;(2)一個架構(gòu),基本環(huán)境及他們的相關(guān)技術(shù),這些技術(shù)用來使用其他一些框架。架構(gòu)定義了一個開發(fā)方法,其目的是協(xié)助客戶開發(fā)項目。關(guān)鍵詞:J2EE 框架 WEB開發(fā)一、 引言軟件工具包用來進(jìn)行復(fù)雜的空間動態(tài)系統(tǒng)的非線性分析越來越多地使用基于Web的網(wǎng)絡(luò)平
2、臺,以實現(xiàn)他們的用戶界面,科學(xué)分析,分布仿真結(jié)果和科學(xué)家之間的信息交流。對于許多應(yīng)用系統(tǒng)基于Web訪問的非線性分析模擬軟件成為一個重要組成部分。網(wǎng)絡(luò)硬件和軟件方面的密集技術(shù)變革1提供了比過去更多的自由選擇機(jī)會2。因此,WEB平臺的合理選擇和發(fā)展對整個地區(qū)的非線性分析及其眾多的應(yīng)用程序具有越來越重要的意義?,F(xiàn)階段的WEB發(fā)展的特點是出現(xiàn)了大量的開源框架。框架將Web開發(fā)提到一個更高的水平,使基本功能的重復(fù)使用成為可能和從而提高了開發(fā)的生產(chǎn)力。在某些情況下,開源框架沒有提供常見問題的一個解決方案。出于這個原因,開發(fā)在開源框架的基礎(chǔ)上建立自己的項目發(fā)展框架。本文旨在描述是一個基于Java的框架,該框
3、架利用了開源框架并有助于開發(fā)基于Web的應(yīng)用。通過分析現(xiàn)有的開源框架,本文提出了新的架構(gòu),基本環(huán)境及他們用來提高和利用其他一些框架的相關(guān)技術(shù)。架構(gòu)定義了自己開發(fā)方法,其目的是協(xié)助客戶開發(fā)和事例項目。應(yīng)用程序設(shè)計應(yīng)該關(guān)注在項目中的重復(fù)利用。即使有獨特的功能要求,也有常見的可用模式使用,這使得它們的設(shè)計和開發(fā)能重用。本文介紹了一個“自定義”框架,這個框架用來定義能被開發(fā)者使用的相同的應(yīng)用問題和定義設(shè)計模式。這個框架,我們將稱之為某某開發(fā)框架,提供了一套模式和工具,建立了行業(yè)最佳實踐,使之適合常見的應(yīng)用問題。它提供了一個從表示到集成的應(yīng)用程序開發(fā)堆棧。本文闡明了這些應(yīng)用問題和模式,工具和行業(yè)最佳實踐
4、。某某開發(fā)框架可以根據(jù)各種項目的需求進(jìn)行定制。它的開發(fā)和配置是基于諸如Struts、Spring、Hibernate和JUnit之類的各種框架和工具。二、 開發(fā)框架的主要技術(shù)2.1 代碼和配置的層與層之間的分離Web應(yīng)用程序有各種設(shè)計問題,如表現(xiàn),商業(yè)邏輯,數(shù)據(jù)存取和安全性。不同的代碼層的分離設(shè)計有如下幾個方面的優(yōu)勢,如:便于維修,實施良好設(shè)計模式的能力,選擇專門的工具的能力和具體問題的解決技術(shù)。將一個項目進(jìn)行層與層之間的分離導(dǎo)致了這些層之間的依賴關(guān)系。例如,一個簡單的使用案例,它涉及數(shù)據(jù)的輸入和查詢通常必須整合表示,業(yè)務(wù)邏輯和數(shù)據(jù)訪問以達(dá)到所需的功能3 。因此,必須有一個明確的策略來管理這些
5、依賴關(guān)系。開發(fā)框架包括設(shè)計模式,可復(fù)用的代碼和配置文件,使開發(fā)框架盡可能地容易的被使用。這一框架使用Spring的反向控制來管理相依。 Spring框架4提供了一種方法整合各層成為一個應(yīng)用項目。它通過Spring應(yīng)用上下文來完成這一目標(biāo),這是一個對象之間管理依賴策略。Spring使用的依賴注入和攔截技術(shù)介紹如下。我們所寫的代碼依賴于使用的對象。它負(fù)責(zé)創(chuàng)建這些對象。這可能導(dǎo)致緊耦合的,但我們希望我們的代碼是松散耦合。依賴注入是一個技術(shù),可以幫助我們實現(xiàn)這一目標(biāo)。依賴注入是反向控制(IOC)的一種形式5。當(dāng)應(yīng)用程序使用依賴注入時,代碼將變得更加清潔和容易。這就是松耦合,從而更容易配置和測試。開發(fā)框
6、架使用了多個Spring應(yīng)用背景文件來定義層與層之間的依賴關(guān)系。方法攔截是面向方面編程(AOP)概念6。Spring AOP方法攔截是通過JDK動態(tài)代理來實現(xiàn)的。開發(fā)框架使用Spring AOP來管理問如交易管理和性能監(jiān)測等問題。開發(fā)框架包括兩個不同的部分:代碼和配置。代碼位于一個特定的應(yīng)用層,并側(cè)重于某一特定條件中的應(yīng)用解決方案。這可能要與數(shù)據(jù)庫交互,或?qū)?shù)據(jù)顯示給屏幕。配置將應(yīng)用的各個層聯(lián)系在一起。從代碼中分離出配置使我們能夠獨立管理配置,使我們在同一代碼基礎(chǔ)上方便的進(jìn)行不同的配置。例如,數(shù)據(jù)訪問對象(DAO)知道它是使用JDBC通過數(shù)據(jù)源來連接一個數(shù)據(jù)庫的,但它不知道該數(shù)據(jù)源是如何實現(xiàn)的
7、。它可能是一個Java命名和目錄接口(JNDI上下文或是來自驅(qū)動程序。它可以指向遠(yuǎn)程數(shù)據(jù)庫或本地數(shù)據(jù)庫。無論數(shù)據(jù)來自何處,DAO執(zhí)行操作數(shù)據(jù)源的方式是相同的。同樣,服務(wù)對象可能依賴于DAO ,但不知道DAO是如何實現(xiàn),可能通過Hibernate,直接的JDBC ,或Web服務(wù)。互動服務(wù)對象與DAO有相同的方式,而不管DAO的實現(xiàn)。Spring通過Spring應(yīng)該上下文來管理我們的應(yīng)用程序的整個配置,這些配置是一些XML文件。我們可以在一個文件中定義應(yīng)用的環(huán)境。然而,我們可以在較小的文件中定義它來簡化配置管理。這樣的應(yīng)用環(huán)境文件的邏輯集合組成了一個被稱之為配置集的完整的應(yīng)用配置。開發(fā)基于Java
8、的企業(yè)應(yīng)用的標(biāo)準(zhǔn)配置是在一個框架的配置中設(shè)置使用如數(shù)據(jù)源和JNDI的資源的外部資源。這種類型的配置有些時候可能帶來如下問題:(1)尚未加載完全的數(shù)據(jù)庫。開發(fā)人員可能要測試某些類型的數(shù)據(jù)的顯示,但如果基礎(chǔ)數(shù)據(jù)尚未完成,他們將無法做到這一點。(2)服務(wù)或DAOs可能還未被開發(fā)。整合未完成的服務(wù)或DAOs可能阻礙發(fā)展的進(jìn)程。這些問題降低了生產(chǎn)力。開發(fā)框架已從它的代碼中分散其配置,我們可以針對開發(fā)使用有選擇的配置集。這可以減輕我們對外部系統(tǒng)的可用性的擔(dān)心,這對于解決開發(fā)的中間需求是不相關(guān)的。開發(fā)框架定義了兩種配置集:默認(rèn)和獨立。我們還可以自定義應(yīng)用,來增加基于我們項目需要的額外配置集。默認(rèn)配置使用在J
9、NDI中的定義的數(shù)據(jù)源來連接數(shù)據(jù)庫。它完全使用了應(yīng)用服務(wù)和DAOs 。獨立的配置設(shè)置對開發(fā)而言是最靈活的。此配置集:(1)使用DriverManagerDataSource連接到任何本地安裝的數(shù)據(jù)庫或開發(fā)數(shù)據(jù)庫;(2)使用Spring的DataSourceTransactionManager作為本地事務(wù)管理;(3)利用充分開發(fā)應(yīng)用服務(wù)和DAOs;(4)充分利用Spring應(yīng)用上下文在應(yīng)用服務(wù)器以外進(jìn)行運行和測試。開發(fā)框架通過它的應(yīng)用上下文進(jìn)行配置。應(yīng)用上下文被定義一個或多個XML文件。一個配置集是定義一個應(yīng)用上下文的一套XML文件。配置集包括兩部分:服務(wù)和網(wǎng)絡(luò)。該服務(wù)定義了整合過程中的DAOs
10、和資源。一個配置不能同時完成這些部分。開發(fā)框架配置集通過被Spring稱之為bean映射上下文組合到一起,這些映射在beanRefContext.xml和applicationContextMperties 中定義。beanRefContext.xml文件定義所有的配置的服務(wù)部分。此文件位于的src /服務(wù)項目的配置目錄下。應(yīng)用上下文之間共享也是通過這個目錄下的配置來實現(xiàn)的。此外,各配置有自己的子目錄,其中包含自己的特定配置。例如服務(wù)和DAOs 通過配置集來共享,而支持服務(wù)(如數(shù)據(jù)源)則屬于子目錄。 XML文件在應(yīng)用程序通過使用<bean>標(biāo)記來定義Spring
11、 bean。Spring bean是一個Java對象和通過應(yīng)用上下文來初始化。2.2 類及其關(guān)系利用開發(fā)框架,在一個典型項目中有如下的代碼和配置:(a)Action,ActionForm類和validation.xml文件;(b)服務(wù)接口和實現(xiàn)類;(c)DAO接口和實現(xiàn)類;(d)以上這些的關(guān)系管理。當(dāng)我們開始我們例子的開發(fā)時,我們必須認(rèn)識到所有這些類和他們的關(guān)系的重要性。2.3 測試技術(shù)測試應(yīng)是項目開發(fā)過程中的一個不可分割的組成部分的。使用開發(fā)框架建立的應(yīng)用程序,單元測試是指只測試服務(wù)或集成層的單一類。表現(xiàn)層(Action類)不執(zhí)行單元測試。這種測試的目的是保證每個類的行為封裝與預(yù)期一致。項目
12、中的單元測試是基于JUnit框架的7。與單元測試不同,集成測試需要測試代碼之間的相互依賴性。這種測試的目的是以確保各個不同的類(不同的開發(fā)者開發(fā)的)整合在一起時也能想期望一樣的運作。在功能測試過程中,重點是采用不同的場景進(jìn)行功能的測試。典型的功能測試包括在業(yè)務(wù)層用不同的數(shù)據(jù)進(jìn)行類的測試。為了執(zhí)行不同類型的測試,項目在開發(fā)過程中必須是測試可測試的。下面列出的可測試項目的一些基本特性。(1)開發(fā)單元的簡單和集成測試。我們可以在沒有數(shù)據(jù)源,或排隊的情況下執(zhí)行單元測試。當(dāng)然,我們也能模擬相依賴代碼而進(jìn)行測試。(2)有易于進(jìn)程各種模擬測試場景的功能測試。(3)在整個生命周期中方便重新運行所有測試。(4)
13、從應(yīng)用代碼中清楚的分離出測試代碼來。精心計劃應(yīng)用的各個設(shè)計問題,如表示,服務(wù)和數(shù)據(jù)訪問對于可測試的應(yīng)用是非常重要的。應(yīng)用程序編碼以get方法、set方法、變量等開始。單元測試是是其他任何測試方法的基礎(chǔ)。開發(fā)框架設(shè)計的便利的可測試應(yīng)用開發(fā)的方法:提供測試模板類來幫助建立單元測試,使應(yīng)用更易于配置以適應(yīng)測試需求。單元測試可以運行像任何JUnit測試。默認(rèn)的專門開發(fā)的“建設(shè)腳本”提供了一個任務(wù)來運行單元測試。這個任務(wù)部署的EAR文件,可以單獨運行。2.4 頁面表示設(shè)計開發(fā)框架采用Struts框架和JavaScript來實現(xiàn)頁面,并提供可擴(kuò)展用于另外項目的額外功能。當(dāng)使用Struts框架進(jìn)行發(fā)展,首先
14、,我們在web.xml配置Servlet Action;然后在struts-config.xml中配置action mapping,form bean 和local forwards;最后我們在validation.xml配置驗證規(guī)則。這種建立應(yīng)用程序的方法在開發(fā)框架中已經(jīng)發(fā)生了改變,開發(fā)人員不必要直接編輯config.xml或validation.xml文件。相反,我們通過XDoclet注釋直接在Action和Action Form類中直接配置。這些信息在運行Ant腳本時翻譯插入struts-config.xml和validation.xml文件中。有兩種需要驗證的類型:數(shù)據(jù)格式驗證和業(yè)務(wù)邏
15、輯驗證。數(shù)據(jù)格式驗證最好在表示層進(jìn)行,而業(yè)務(wù)邏輯驗證最好的在服務(wù)層進(jìn)行驗證。在業(yè)務(wù)層發(fā)生的業(yè)務(wù)邏輯錯誤,必須通過拋出異常進(jìn)行處理。以下是表現(xiàn)層的設(shè)計目標(biāo):(1)每個JSP文件只有一個Action類和ActionForm類。一個單一動作類必須處理一個單一的頁面;(2)使用XDoclet定義依賴和驗證規(guī)則;(3)開發(fā)人員應(yīng)該避免或盡量減少使用sessoin對象,因為它阻礙了可擴(kuò)展性。開發(fā)框架提供了一個默認(rèn)的Action模板類,其中包含解決上述設(shè)計目標(biāo)的方法。以下是典型的開發(fā)web頁面所需要的代碼:(1)創(chuàng)建一個帶有稱之為“actionType”默認(rèn)隱藏域的JSP文件,用于處理在頁面上發(fā)生的用戶行為
16、。(2)創(chuàng)建一個擴(kuò)展模板Action類的新的Action類。我們必須使用XDoclet配置ActionForm和服務(wù)類之間的關(guān)聯(lián)。然后,我們就應(yīng)該針對隱藏域“action Type”中的值來建立具體的處理用戶動作方法。最后,我們根據(jù)需要給這個Actoin類訪問權(quán)限。這就是Spring的配置文件所做的工作。(3)創(chuàng)建一個新的ActionForm類,并用XDoclet注釋指定驗證規(guī)則。一旦JSP,Action和ActionForm創(chuàng)建完成,就必須運行Ant腳本來重新生成“struts-config.xml”文件。2.5 數(shù)據(jù)庫訪問通過框架建立的應(yīng)用程序支持直接使用JDBC和Hibernate框架將
17、數(shù)據(jù)持久化到關(guān)系數(shù)據(jù)庫中。應(yīng)用程序通過Spring上下文文件進(jìn)行配置。直接使用JDBC的DAOs必須繼承Spring框架中的JdbcDaoSupport.java類。同樣,使用Hibernate的DAOs必須繼承Spring框架的HibernateDaoSupport.java類。2.6 通過注釋進(jìn)行配置開發(fā)框架使用Spring框架維持代碼之間依賴。一些相依(例如Action和ActionForm )在“struts-config.xml”中配置,而另一些(例如服務(wù)和DAO)在Spring應(yīng)用上下文文件(applicationContext.xml)中配置。在一個團(tuán)隊中這些配置文件可以被開發(fā)者
18、共享。就這是為什么在這些配置上可能發(fā)生版本沖突。開發(fā)框架提供了一種新的有效的辦法,使用特別注釋來定義這些依賴。通過使用這些注釋,配置變得更加簡單和相互沖突也可以避免。三、 開發(fā)框架中的服務(wù)開發(fā)框架提倡使用plain-old-java-object(POJOs)實現(xiàn)業(yè)務(wù)邏輯。業(yè)務(wù)邏輯必需申明為接口。所有服務(wù)的實現(xiàn)必須實現(xiàn)一個或多個業(yè)務(wù)接口當(dāng)有業(yè)務(wù)規(guī)則驗證錯誤服務(wù)層拋出業(yè)務(wù)異常這是推薦的。開發(fā)框架采用基于Spring框架的事務(wù)處理方法8。這是通過面向方面編程(AOP)實現(xiàn)的。開發(fā)框架提供了從服務(wù)接口(與應(yīng)用程序的業(yè)務(wù)邏輯聯(lián)系)分離部署接口(與服務(wù)消費者聯(lián)系)的良好實踐。在WDSL中部署接口是Jav
19、a接口表示服務(wù)的外在表現(xiàn)。實現(xiàn)這個接口的類必須代表實現(xiàn)服務(wù)實現(xiàn)接口的類的需要。這樣可確保所有的業(yè)務(wù)邏輯是保持在一個正確的地方。服務(wù)接口是一種Java接口,代表寶物邏輯。在大多數(shù)情況下,部署接口包含從服務(wù)接口而來的一個方法子集。Apache Axis 1.2.4 Web服務(wù)框架是目前Web服務(wù)的標(biāo)準(zhǔn)。開發(fā)Web服務(wù),有兩種不同的方法9:contract first和contract last。Contract first與contract last的區(qū)別WDSL首先被創(chuàng)建還是從代碼中生成。當(dāng)服務(wù)消費者或供應(yīng)商的外部供應(yīng)商時,他們可以使用不同的技術(shù)實現(xiàn)WEB服務(wù)(他們可以使用.NET不是Java)
20、10時,Contract first辦法對開發(fā)WEB服務(wù)是一個很好的做法。四、 中間層的集成與外部資源的整合有多種技術(shù),如數(shù)據(jù)庫和Web服務(wù)。開發(fā)框架使用在邏輯層稱之為“整合”層的技術(shù)。這一層的設(shè)計目標(biāo)是:(1)通過JDBC或Hibernate進(jìn)行的數(shù)據(jù)庫訪問必須封裝在數(shù)據(jù)存取對象(DAO)中。(2)Web服務(wù)應(yīng)盡可能簡單。(3)所有的外部數(shù)據(jù)格式轉(zhuǎn)換到應(yīng)用程序域?qū)ο髴?yīng)限于這一層。(4)在這個層單元測試類應(yīng)用做的簡單。開發(fā)框架支持使用Hibernate和直接的JDBC調(diào)用訪問關(guān)系數(shù)據(jù)庫。使用Spring框架的模板類:JdbcTemplate和HibernateTemplate是推薦的。當(dāng)直接使
21、用JDBC訪問關(guān)系型數(shù)據(jù)庫,建議應(yīng)用程序的DAOs繼承自Spring框架的JdbcDaoSupport。JdbcTemplate類管理訪問數(shù)據(jù)庫(例如PreparedStatement)的資源。開發(fā)框架使用應(yīng)用程序配置文件將datasource插入到DAOs。當(dāng)使用Hibernate訪問關(guān)系數(shù)據(jù)庫,通過應(yīng)用程序配置文件將Hiberate SessionFactory注入到應(yīng)用程序的DAOs。五、 開發(fā)生命周期開發(fā)框架的重點在一個開發(fā)團(tuán)隊中可以明確定義角色及其相互作用的結(jié)構(gòu)上。三種角色描述如下。這些角色的相互作用是整個應(yīng)用項目成功的關(guān)鍵。(a)前端的開發(fā)人員專注于JSPs,Action/Acti
22、onForm類和外部Web服務(wù)。(b)服務(wù)的開發(fā)者專注于開發(fā)應(yīng)用的服務(wù)和整合這些服務(wù)中的不同部分。(c)項目集成者主要專注開發(fā)的集成文件,如DAOs或消費型Web服務(wù)。發(fā)展中的一個基本問題是在其依賴組件沒有準(zhǔn)備好或不可用時如何開發(fā)和集成的代碼。開發(fā)框架通過以聲明式注入“模擬對象”這種結(jié)構(gòu)來解決這個問題,并在開發(fā)生命周期的過程中用實際對象取代模擬對象。由于我們的應(yīng)用是通過不同的配置集進(jìn)行配置的使這成為了可能。該框架使團(tuán)隊能測試開發(fā)過程中的一個組成部分。這使編寫和運行JUnit測試成為了可能。框架專注于測試應(yīng)用服務(wù)和他們的依賴性。應(yīng)用部署在一個單一的Enterprise Archive(EAR)文
23、件中。Ant腳本生成此EAR文件,并可以手動運行或定期調(diào)度。建議在創(chuàng)建EAR之前運行所有的JUnit測試。六、 總結(jié)本文作者概述了J2EE開發(fā)框架。作者討論了J2EE項目中重要的架構(gòu)問題,技術(shù)和發(fā)展步驟。這些資料來自實際的項目經(jīng)驗,是為了幫助開發(fā)人員構(gòu)建基于J2EE系統(tǒng)和設(shè)計自己的框架。然而,這僅僅是冰山的一角,短短的文章不足以詳細(xì)描述J2EE在科學(xué)和企業(yè)應(yīng)用,特別是基于Web的非線性分析仿真軟件的潛在影響。:10參考文獻(xiàn):1 N.Hritonenko, Yu.Yatsenko.Creative destruction of computing systems: Analysis and mo
24、deling, Journal of Supercomputing, 38(2006), 143-154.2 Yu.Yatsenko, N.Hritonenko.Network economics and optimal replacement of agestructured. IT capital, Mathematical Methods of Operations Research, 65(2007), 483-497.3 A.S. Boranbayev, Reference Architecture for Web Applications, Reports of the National Academy of Science of the Republic of Kazakhstan, 5 (2007), 18-26.4 The Spring Framewor
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 旅游會展行業(yè)發(fā)展趨勢考核試卷
- 醫(yī)療器械技術(shù)人才培養(yǎng)考核試卷
- 收養(yǎng)家庭育兒指導(dǎo)手冊編制考核試卷
- 化學(xué)纖維在餐飲美食等行業(yè)的應(yīng)用考核試卷
- 出租車行業(yè)聯(lián)盟與合作模式探索考核試卷
- 企業(yè)人力資源戰(zhàn)略規(guī)劃考核試卷
- 建筑物清潔服務(wù)心理素質(zhì)培養(yǎng)考核試卷
- 收納培訓(xùn)課件模板
- 汽車按揭合同抵押合同范本
- 廠房抵押合同范本簡短
- 智能交通概論全套教學(xué)課件
- 生物醫(yī)學(xué)工程倫理 課件全套 第1-10章 生物醫(yī)學(xué)工程與倫理-醫(yī)學(xué)技術(shù)選擇與應(yīng)用的倫理問題
- 燒結(jié)機(jī)安裝使用說明書
- 新戰(zhàn)略營銷課件
- (完整版)部編一年級下冊語文《春夏秋冬》ppt
- 人文地理學(xué)考試名詞解釋全套
- 新華書店業(yè)務(wù)崗位職責(zé)共3篇
- 統(tǒng)編版五年級下冊第五單元 習(xí)作:形形色色的人 課件 (共16張PPT)
- 大數(shù)據(jù)介紹課件
- 幼兒園多媒體PPT課件制作PPT完整全套教學(xué)課件
- 2023離婚協(xié)議模板下載
評論
0/150
提交評論