




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、哈爾濱工業(yè)大學(xué)計(jì)算機(jī)學(xué)院唐好選Email:基本內(nèi)容基本內(nèi)容pJava EE概述pEJB技術(shù)p基于EJB構(gòu)件的開發(fā)過程p三種構(gòu)件模型的關(guān)系J2EE概述p J2SE (Java2 Platform, Standard Edition)p 用于桌面程序和Java小程序開發(fā)p 稱為J2SDK,簡(jiǎn)稱JDKp J2EE (Java2 Platform, Enterprise Edition)p 用于企業(yè)級(jí)開發(fā)p 稱為J2SDKEEp J2ME (Java2 Platform, Micro Edition)p 用于手持設(shè)備的開發(fā)(手機(jī)和PDA)p JRE (Java Runtime Environment)
2、Java平臺(tái)的發(fā)展平臺(tái)的發(fā)展Java平臺(tái)的發(fā)展平臺(tái)的發(fā)展Java EE的發(fā)展的發(fā)展p J2EE 1.0 1999年發(fā)布p J2EE 1.2 2000年發(fā)布p J2EE 1.3 2001 年發(fā)布p J2EE 1.4 2003年發(fā)布p J2EE 1.5 2005年發(fā)布,即Java EEp Java EE 1.6 2009年發(fā)布p Java EE 1.7-2013年發(fā)布,最新版Java EE 1.7的核心組件的核心組件Java EE 應(yīng)用架構(gòu)示例(應(yīng)用架構(gòu)示例(1)Java EE 應(yīng)用架構(gòu)示例(應(yīng)用架構(gòu)示例(2)Java EE核心技術(shù)核心技術(shù)瀏覽器Applet應(yīng)用程序客戶機(jī)RMIWeb/HTTP服務(wù)
3、器JSP/JSFServlet表示層應(yīng)用服務(wù)器EJBEJBEJBEJBEJBEJBEJBJava IDLJNDIJMSJPA專業(yè)服務(wù)層遺產(chǎn)系統(tǒng)數(shù)據(jù)庫后端系統(tǒng)Java EE核心技術(shù)(核心技術(shù)(1)pEJB(Enterprise Java Bean)p提供了讓客戶端使用遠(yuǎn)程的分布式對(duì)象的框架p規(guī)定了EJB構(gòu)件如何與EJB容器進(jìn)行交互pEJB容器提供了目錄服務(wù)、事務(wù)管理、安全、連接池管理和容錯(cuò)服務(wù)等pRMI ( Remote Method Invocation)和RMI-IIOP p是EJB構(gòu)件和客戶端的通信APIp允許進(jìn)程間通信并提供其它與通信相關(guān)的服務(wù)p利用IIOP作為通信協(xié)議pJNDI(Jav
4、a Naming and Directory Interface)p是命名和目錄服務(wù)的標(biāo)準(zhǔn)p實(shí)現(xiàn)對(duì)象的命名,包括Web組件、EJB組件、數(shù)據(jù)庫系統(tǒng)等p對(duì)象的名字通過命名和目錄服務(wù)綁定到具體對(duì)象pEJB依賴JNDI通過網(wǎng)絡(luò)查找分布式構(gòu)件p在Java EE環(huán)境下,任何構(gòu)件必須在JNDI服務(wù)器注冊(cè)pJPA(Java Persistence API)p 用于對(duì)象持久化的API,本質(zhì)上是一種ORM規(guī)范p 支持XML和注解p 通過面向?qū)ο蠖敲嫦驍?shù)據(jù)庫的查詢語言查詢數(shù)據(jù),避免程序的 SQL語句緊密耦合Java EE核心技術(shù)(核心技術(shù)(2)pJTA (Java Transaction API)p是一個(gè)高層次
5、的事務(wù)處理接口p應(yīng)用程序可通過JTA控制事務(wù)處理pJMS( Java Message Services)p是與消息驅(qū)動(dòng)構(gòu)件通訊的APIp同時(shí)支持點(diǎn)對(duì)點(diǎn)消息隊(duì)列服務(wù)和發(fā)布-訂閱消息服務(wù)p支持可靠消息傳遞、消息傳遞事務(wù)及持續(xù)消息等p是EJB消息驅(qū)動(dòng)Bean的基礎(chǔ)Java EE核心技術(shù)(核心技術(shù)(3)pJSP(Java Server Page)和 Servlet p是服務(wù)器端的程序p用于擴(kuò)展服務(wù)器功能,響應(yīng)用戶請(qǐng)求p可將結(jié)果轉(zhuǎn)化為標(biāo)準(zhǔn)的HTML代碼返回給用戶pJSF(Java Server Faces)p用于構(gòu)建Web應(yīng)用程序的新標(biāo)準(zhǔn)Java框架p提供一種以組件為中心來開發(fā)Java Web用戶界面的
6、方法p將Web應(yīng)用開發(fā)者劃分為三個(gè)角色:網(wǎng)頁設(shè)計(jì)人員;應(yīng)用程序設(shè)計(jì)人員;UI組件開發(fā)人員Java EE核心技術(shù)(核心技術(shù)(4)pWebSocket APIp是下一代客戶端-服務(wù)器的異步通信方法,取代了單個(gè)TCP套接字,可用于任意的客戶端和服務(wù)器程序,由W3C進(jìn)行標(biāo)準(zhǔn)化pWebSocket API可使服務(wù)器和客戶端可以在給定時(shí)間范圍內(nèi)的任意時(shí)刻,相互推送信息pWebSocket并不限于以Ajax(或XHR)方式通信,服務(wù)器和客戶端可以彼此相互推送信息pWebSocket允許跨域通信p Java IDL/CORBAp是CORBA規(guī)約的一種Java實(shí)現(xiàn)p通過Java IDL可以讓Java對(duì)象發(fā)布到C
7、ORBA的ORB上,從而通過ORB與別的CORBA對(duì)象進(jìn)行交互Java EE核心技術(shù)(核心技術(shù)(5)pInterceptors(攔截器)p在訪問某個(gè)Action或Action的某個(gè)方法之前或之后實(shí)施攔截p攔截器是可插拔的,是AOP的一種實(shí)現(xiàn)pJAF(Java Activation Framework)/ Java Mailp是一套允許在Java程序中以與平臺(tái)無關(guān)、協(xié)議無關(guān)的方式發(fā)送電子郵件的APIpJavaMail可利用JAF處理郵件的編碼pXML( 可擴(kuò)展標(biāo)記語言)p是一種描述數(shù)據(jù)的元語言pJava用JAXP( Java API for XML Parsing)對(duì)XML文件進(jìn)行解析pEJB通
8、常將XML作為元標(biāo)記語言表達(dá)內(nèi)容Java EE核心技術(shù)(核心技術(shù)(6)EJB技術(shù)EJB技術(shù)技術(shù)pEJB簡(jiǎn)介pEJB體系結(jié)構(gòu)pEJB編程模型pEJB構(gòu)件接口pEJB構(gòu)件規(guī)約pEJB構(gòu)件分類pEJB構(gòu)件的開發(fā)什么是什么是EJB?pEJB不是一種產(chǎn)品,而是為開發(fā)和使用“基于事務(wù)和分布對(duì)象應(yīng)用的服務(wù)器端構(gòu)件”而定義的一種技術(shù)規(guī)約,用戶可根據(jù)該規(guī)約開發(fā)EJB構(gòu)件pEJB構(gòu)件是一組分布式的對(duì)象,可通過EJB容器的控制為分布在因特網(wǎng)上的用戶提供遠(yuǎn)程服務(wù)什么是什么是EJB?pEJB規(guī)約定義了EJB構(gòu)件與EJB容器之間的交互機(jī)制,描述了EJB構(gòu)件和EJB容器在運(yùn)行時(shí)的行為,保證了EJB構(gòu)件在容器間的可移植性p安
9、全訪問如何檢驗(yàn)p事務(wù)如何管理p持久性如何應(yīng)用pEJB容器運(yùn)行在EJB服務(wù)器中,EJB規(guī)約還定義了EJB容器和EJB服務(wù)器的標(biāo)準(zhǔn)模型EJB的目標(biāo)的目標(biāo)pEJB的目標(biāo)是為服務(wù)器端構(gòu)件系統(tǒng)定義一個(gè)技術(shù)規(guī)范,該規(guī)范可實(shí)現(xiàn)如下要求:p提供一個(gè)標(biāo)準(zhǔn)的、分布的、基于OO的體系結(jié)構(gòu)p屏蔽復(fù)雜的系統(tǒng)級(jí)功能需求p兼容CORBA標(biāo)準(zhǔn)p具有與非Java應(yīng)用之間的互操作能力EJB的現(xiàn)狀的現(xiàn)狀-EJB3.0p EJB3.0于2006年5月隨JAVA EE 5發(fā)布p EJB3.0完全拋棄了EJB 2.x實(shí)體Bean的設(shè)計(jì),僅僅保留原有的Session Bean和消息驅(qū)動(dòng)Bean;引進(jìn)了全新的JPA規(guī)范作為持久化解決方案p
10、簡(jiǎn)化了EJB 2.x中Session Bean的開發(fā),Session Bean不再需要Home接口,只要求提供遠(yuǎn)程或本地的業(yè)務(wù)接口即可p 不再推薦使用XML文件作為部署描述文件,而是改為使用Annotation來設(shè)置部署描述信息EJB的現(xiàn)狀的現(xiàn)狀-EJB3.1p EJB3.1于2009年隨JAVA EE 1.6發(fā)布p 允許企業(yè)Bean只提供一個(gè)Bean類,甚至無須提供業(yè)務(wù)接口p 允許通過異步的方式調(diào)用Session Bean的業(yè)務(wù)方法p 簡(jiǎn)化了EJB的類文件必須打包到JAR文件中的限制,允許直接將EJB類放到WAR文件中EJB的現(xiàn)狀的現(xiàn)狀-EJB3.2pEJB3.2于2013年7月隨JAVA
11、EE 7發(fā)布p支持本地異步會(huì)話Bean調(diào)用pJava I/O訪問權(quán)已放寬,用“應(yīng)謹(jǐn)慎行事”取代了“不允許”p有狀態(tài)會(huì)話bean的生命周期回調(diào)攔截方法,可以在一個(gè)事務(wù)環(huán)境中執(zhí)行(由生命周期回調(diào)方法的事務(wù)屬性決定) p可以完全禁用特定的有狀態(tài)會(huì)話bean的鈍化pTimerService API已被擴(kuò)展,可以在同一個(gè)EJB模塊中查詢所有活動(dòng)計(jì)時(shí)器p會(huì)話bean指定實(shí)現(xiàn)接口(作為本地或遠(yuǎn)程業(yè)務(wù)接口)的默認(rèn)規(guī)則已經(jīng)放寬,可以包含多個(gè)接口Java EE的應(yīng)用架構(gòu)的應(yīng)用架構(gòu)-經(jīng)典經(jīng)典JAVA EE架構(gòu)架構(gòu)p 以EJB為核心,前端以JSF(Java Server Faces)為MVC框架的技術(shù)架構(gòu),這種技術(shù)架
12、構(gòu)以Sun提倡的官方Java EE技術(shù)為主Java EE的應(yīng)用架構(gòu)的應(yīng)用架構(gòu)-輕量級(jí)輕量級(jí)Java EE架構(gòu)架構(gòu)p 以SpringHibernate為核心,前端以Struts 1或Struts 2為MVC框架的技術(shù)架構(gòu),這種技術(shù)架構(gòu)以主流的開源框架為主Spring框架框架p 組成 Spring 框架的每個(gè)模塊(或組件)都可以單獨(dú)存在,或者與其他一個(gè)或多個(gè)模塊聯(lián)合實(shí)現(xiàn)p 核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要組件是 BeanFactory。BeanFactory 使用控制反轉(zhuǎn) (IOC) 模式將應(yīng)用程序的配置和依賴性規(guī)范與實(shí)際應(yīng)用程序代碼分開p Spring 上下文
13、:Spring 上下文是一個(gè)配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企業(yè)服務(wù),例如 JNDI、EJB、電子郵件、國(guó)際化、校驗(yàn)和調(diào)度功能p Spring MVC 框架:MVC 框架是一個(gè)全功能的構(gòu)建 Web 應(yīng)用程序的 MVC 實(shí)現(xiàn)。通過策略接口,MVC 框架變成為高度可配置的,MVC 容納了大量視圖技術(shù)Spring框架和框架和EJBp Spring框架實(shí)際上大量參考了EJB的設(shè)計(jì)理念,只是Spring擯棄了EJB開發(fā)中的3大煩瑣之處:(1)EJB組件的接口和類必須繼承指定接口或類(2)需要大量使用XML配置文件(3)EJB組件必須打包成JAR包p Spring容
14、器取代了原有的EJB容器,因此以Spring框架為核心的應(yīng)用無須EJB容器支持,可以在Web容器中運(yùn)行p Spring容器管理的不再是復(fù)雜的EJB組件,而是POJO(Plain Old Java Object) BeanEJB的體系結(jié)構(gòu)的體系結(jié)構(gòu)p請(qǐng)求EJB構(gòu)件服務(wù)的應(yīng)用程序,EJB規(guī)約為創(chuàng)建EJB構(gòu)件的客戶接口定義了一套標(biāo)準(zhǔn),主要包括:pEJB Home接口:客戶使用JNDI來查找對(duì)EJB Home接口的引用,為客戶機(jī)創(chuàng)建、刪除、查找EJB Remote接口對(duì)象的句柄提供了相應(yīng)的操作pEJB 業(yè)務(wù)接口:通過該接口可調(diào)用構(gòu)件的業(yè)務(wù)方法pRMI/IIOP或RMI/JRMP協(xié)議:客戶機(jī)和容器通信的
15、標(biāo)準(zhǔn)協(xié)議,這些底層的分布式通信機(jī)制對(duì)于EJB客戶機(jī)和EJB構(gòu)件開發(fā)者都是透明的EJB的體系結(jié)構(gòu)的體系結(jié)構(gòu)-EJB客戶機(jī)客戶機(jī)p為使用EJB構(gòu)件的應(yīng)用程序提供操作環(huán)境,并提供所有必要的服務(wù)來支持EJB體系結(jié)構(gòu)pJava白皮書承諾:“EJB規(guī)約為每個(gè)支持Java程序的應(yīng)用服務(wù)器定義了一個(gè)標(biāo)準(zhǔn)模型,任何廠商都可以使用此模型來實(shí)現(xiàn)對(duì)EJB構(gòu)件的支持”pEJB服務(wù)器的主要功能包括p管理EJB容器p提供對(duì)操作系統(tǒng)服務(wù)的訪問p提供與Java相關(guān)的服務(wù)EJB的體系結(jié)構(gòu)的體系結(jié)構(gòu)-EJB服務(wù)器服務(wù)器pEJB容器為EJB構(gòu)件提供運(yùn)行環(huán)境,EJB容器對(duì)EJB應(yīng)用程序是透明的pEJB白皮書描述:“EJB容器管理其中的
16、EJB構(gòu)件,客戶機(jī)應(yīng)用程序并不直接與EJB構(gòu)件進(jìn)行交互,相反,客戶機(jī)應(yīng)用程序通過由容器生成的封裝接口與EJB構(gòu)件進(jìn)行交互,當(dāng)客戶機(jī)使用封裝接口調(diào)用各種操作時(shí),容器截獲每個(gè)方法調(diào)用,并插入管理服務(wù)”EJB的體系結(jié)構(gòu)的體系結(jié)構(gòu)-EJB容器容器EJB的體系結(jié)構(gòu)的體系結(jié)構(gòu)-EJB容器容器p面向?qū)ο髉分布式計(jì)算:EJB構(gòu)件在理論上是位置透明的p使用代理對(duì)象:客戶機(jī)訪問EJB構(gòu)件時(shí)使用代理對(duì)象,構(gòu)件本身對(duì)客戶機(jī)是不可訪問的EJB的編程模型的編程模型-關(guān)鍵特征關(guān)鍵特征EJB的邊界的邊界EJB構(gòu)件接口構(gòu)件接口p構(gòu)件接口是構(gòu)件提供者為便于復(fù)用者(客戶)復(fù)用該構(gòu)件所提供的必要信息p構(gòu)件與容器協(xié)作實(shí)現(xiàn)這些接口EJB
17、EJB構(gòu)件規(guī)約構(gòu)件規(guī)約EJB構(gòu)件規(guī)約構(gòu)件規(guī)約pEJB可使Java編寫的服務(wù)器組件開發(fā)和部署標(biāo)準(zhǔn)化pEJB構(gòu)件規(guī)約定義了以下接口pEJB和容器之間的接口p容器和應(yīng)用服務(wù)器之間的接口p容器和客戶端之間的接口p容器和持久管理器之間的接口EJB構(gòu)件分類構(gòu)件分類pEJB構(gòu)件分為三(四)種基本的類型p會(huì)話構(gòu)件(Session Bean)p有態(tài)會(huì)話構(gòu)件(Stateless Session Bean)p無態(tài)會(huì)話構(gòu)件(Statefull Session Bean)p消息驅(qū)動(dòng)構(gòu)件(Message-Driven Bean)p實(shí)體構(gòu)件(實(shí)體構(gòu)件(Entity Bean)會(huì)話構(gòu)件會(huì)話構(gòu)件p特征 p與單個(gè)客戶相對(duì)應(yīng)p不直
18、接表示數(shù)據(jù)庫中的共享數(shù)據(jù)p生命周期相對(duì)較短p當(dāng)EJB容器崩潰時(shí),也隨著消失p類別pStateful (有態(tài))pStateless (無態(tài))有態(tài)構(gòu)件的生命周期有態(tài)構(gòu)件的生命周期PreDestroy超時(shí)postConstruct業(yè)務(wù)方法PrePassivatePostActivate超時(shí)實(shí)例拋出系統(tǒng)異常無態(tài)構(gòu)件的生命周期無態(tài)構(gòu)件的生命周期PreDestroyPostConstruct業(yè)務(wù)方法兩種會(huì)話構(gòu)件的選擇兩種會(huì)話構(gòu)件的選擇pStateful ? Stateless?p過程需要保持狀態(tài)?p加入過程中斷,恢復(fù)運(yùn)行時(shí)需要以前的信息嗎??jī)煞N會(huì)話構(gòu)件的選擇兩種會(huì)話構(gòu)件的選擇p發(fā)生下列情況時(shí)應(yīng)該考慮使用有
19、狀態(tài)會(huì)話Beanp在方法調(diào)用時(shí),會(huì)話Bean需要維護(hù)成員變量的數(shù)據(jù)p實(shí)例化會(huì)話Bean的時(shí)候,必須初始化會(huì)話Bean的狀態(tài)p會(huì)話Bean需要跨越多個(gè)方法調(diào)用,并維護(hù)客戶端的信息p會(huì)話Bean正在服務(wù)一個(gè)交互客戶端,EJB容器或應(yīng)用服務(wù)器需要了解該客戶端p發(fā)生如下情況時(shí)應(yīng)考慮使用無狀態(tài)會(huì)話Beanp不需要維護(hù)跨越方法調(diào)用的成員變量中的數(shù)據(jù)p會(huì)話Bean提供的服務(wù)并不針對(duì)某種客戶端消息驅(qū)動(dòng)構(gòu)件(消息驅(qū)動(dòng)構(gòu)件(MDB)pMDB是一種JMS消息的使用者,MDB負(fù)責(zé)從消息隊(duì)列或者消息主題中讀取消息pMDB只提供消息接受方法,客戶端不直接與MDB打交道pMDB的輸入?yún)?shù)只有一種類型,即消息對(duì)象,是那些實(shí)現(xiàn)
20、了Message接口的Java對(duì)象p生命周期由EJB容器控制p客戶端和MDB是完全獨(dú)立的,客戶端無法直接調(diào)用MDB方法,而是由消息服務(wù)器負(fù)責(zé)把消息發(fā)送給MDBp無狀態(tài)消息驅(qū)動(dòng)構(gòu)件(消息驅(qū)動(dòng)構(gòu)件(MDB)MDB的生命周期的生命周期PreDestroyPostConstructp客戶端可直接調(diào)用Session Bean,發(fā)布消息到主題pMDB接收并處理消息EJB構(gòu)件開發(fā)與應(yīng)用pSessionBean有兩個(gè)共同的組成部分:p業(yè)務(wù)接口(Business interface):定義EJB構(gòu)件的邏輯方法pBean類(Bean class):實(shí)現(xiàn)主要的業(yè)務(wù)邏輯EJB構(gòu)件的開發(fā)(構(gòu)件的開發(fā)(SessionBe
21、an)p開發(fā)一個(gè) SessionBean,需要定義接口和 Beanclass,接口分為遠(yuǎn)程接口(Remote Interface)和本地接口(Local Interface)p遠(yuǎn)程接口( Remote Interface)定義業(yè)務(wù)方法,可以被 EJB 容器之外的應(yīng)用訪問到p本地接口(Local Interfac)同樣定義業(yè)務(wù)方法,可以被同處于 EJB 容器內(nèi)的其它應(yīng)用使用。因?yàn)?local 接口允許 bean 之間直接通過內(nèi)存交互,沒有分布式對(duì)象協(xié)議的開銷,從而改善了性能pBean類包含了業(yè)務(wù)邏輯,必須具備一個(gè)遠(yuǎn)程或本地接口,Bean類應(yīng)實(shí)現(xiàn)接口的業(yè)務(wù)方法。在 EJB3中,不要求同時(shí)實(shí)現(xiàn) re
22、mote 和 local 接口,但實(shí)現(xiàn)兩者是比較好的做法開發(fā)開發(fā)SessionBeanp第一步:定義一個(gè)包含業(yè)務(wù)方法的接口。該接口不需要包含任何注釋,是一個(gè)普通的 java 接口。調(diào)用 EJB的客戶端使用這個(gè)接口引用從 EJB 容器返回的存根(stub)開發(fā)開發(fā)SessionBean第一步第一步p第二步:編寫B(tài)eanClass開發(fā)開發(fā)SessionBean第二步第二步SessionBean的客戶端開發(fā)的客戶端開發(fā)public static void main(String args) Properties props = new Properties();props.setProperty(java.naming.factory.initial, erfaces.NamingContextFactory);props.setProperty(vider.url, localhost:1099);try InitialContext ctx = new InitialContext(props);HelloWorld helloworld = (HelloWorld) ctx.lookup(HelloWorld
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)用設(shè)備售賣合同范例
- 包本合同范例
- 南岸區(qū)場(chǎng)地租賃合同范本
- 主從合同只有擔(dān)保合同范本
- 公路煤炭運(yùn)輸合同范本
- 廠房買賣簡(jiǎn)易合同范本
- 出租手機(jī)合同范本
- 包船運(yùn)貨合同范本
- 勞務(wù)工人合同范本
- 單方解除裝修合同范本
- 2025包頭青山賓館有限公司面向社會(huì)公開招聘18人筆試參考題庫附帶答案詳解
- 2025年業(yè)務(wù)員工作總結(jié)及工作計(jì)劃模版(3篇)
- 2025至2030年中國(guó)毛絨卡通玩具數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2024年連云港市贛榆區(qū)區(qū)屬國(guó)企對(duì)外招聘筆試真題
- 海南省??谑?024-2025學(xué)年八年級(jí)上學(xué)期期末考試數(shù)學(xué)試題(含答案)
- 2025年度智能充電樁場(chǎng)地租賃合同范本3篇
- 2025年注射用賴氮匹林項(xiàng)目可行性研究報(bào)告
- 2025江西吉安市新廬陵投資發(fā)展限公司招聘11人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 技術(shù)推廣服務(wù)合同模板五篇
- 2025年山東出版集團(tuán)招聘筆試參考題庫含答案解析
- 水泥基自流平地面技術(shù)交底
評(píng)論
0/150
提交評(píng)論