版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Struts2框架的工作原理與架構(gòu)分析郭劍峰2012年11月Struts2框架的工作原理與架構(gòu)分析郭劍峰
Struts2的工作原理一個請求在Struts2框架中的處理分為以下幾個步驟
1客戶端初始化一個指向Servlet容器(如Tomcat)請求
2這個請求經(jīng)過一系列的過濾器(Filter)3接著FilterDispatcher被調(diào)用,F(xiàn)ilterDispatcher詢問ActionMapper來決定這個請是否需要調(diào)用某個Action
4如果ActionMapper決定需要調(diào)用某個Action,F(xiàn)ilterDispatcher把請求的處理交給ActionProxy
5ActionProxy通過ConfigurationManager詢問框架的配置文件,找到需要調(diào)用的Action類
6ActionProxy創(chuàng)建一個ActionInvocation的實例。
7ActionInvocation實例使用命名模式來調(diào)用,在調(diào)用Action的過程前后,涉及到相關(guān)攔截器(Intercepter)的調(diào)用。
8一旦Action執(zhí)行完畢,ActionInvocation負責(zé)根據(jù)struts.xml中的配置找到對應(yīng)的返回結(jié)果。返回結(jié)果通常是一個需要被表示的JSP或者FreeMarker的模版。在表示的過程中可以使用Struts2框架中繼承的標(biāo)簽。在這個過程中需要涉及到ActionMapper
Struts2的工作原理一個請求在Struts2框架中的處2
Struts2的架構(gòu)分析Struts2框架也是由兩部分組成:XWork2和Struts2。XWork是一個命令模式框架,它是Struts2的基礎(chǔ)。XWork提供了很多核心功能:IoC(Inversionofcontrol,控制反轉(zhuǎn))容器,強大的表達式語言(OGNL:ObjectGraphNavigationLanguage-----對象圖像導(dǎo)航語言)數(shù)據(jù)類型轉(zhuǎn)換,驗證和可插入的配置。XWork框架的核心概念包括action,攔截器(inerceptor)和result.
Struts2的架構(gòu)分析Struts2框架也是由兩部分組成3
struts-default.xml文件struts-default.xml文件是struts2框架默認加載的配置文件。它定義struts2一些核心的bean和攔截器。這些攔截器是以key-value對的形式配置在struts-default.xml中,其中name是攔截器名字,就是后面使用該攔截器的引用點,value則指定攔截器的實現(xiàn)類。struts-default.xml:struts2全局配置文件,struts2框架啟動時會自動加載該文件位置:struts2-core.jar/struts-default.xml作用:定義bean和一個抽象的包。包中定義了返回類型、攔截器、攔截器棧、默認的攔截器和默認的Action
struts-default.xml文件struts-de4
perties文件作用:覆蓋系統(tǒng)配置信息struts.custom.i18n.resources=globalMessages
國際化文件的前綴名配置struts.ui.theme=simple
使用struts2的simple模板生成html代碼struts.ui.templateDir=templateStruts2的模板目錄是通過struts.ui.templateDir常量來指定的,該常量的默認值是template,即意味著Struts2會從Web應(yīng)用的template目錄struts.ui.templateSuffix=ftl
去除struts2標(biāo)簽中的自動生成的布局樣式struts.multipart.saveDir=/tmp設(shè)置struts2的臨時文件上傳路徑struts.multipart.maxSize=1000000000struts2修改文件上傳大小限制
perties文件作用:覆蓋系統(tǒng)配置信5
Struts2中為應(yīng)用指定多個配置文件為了避免struts.xml文件過于龐大、臃腫,提高代碼的可讀性,我們可以將一個struts.xml配置文件分解成過個配置文件,然后在struts.xml文件中包含其他配置文件。1.配置一個名為department.xml文件<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.1//EN""/dtds/struts-2.1.dtd">
<struts>
<packagename="department"namespace="/department"extends="struts-default">
<actionname="department"class="com.qn.struts.HellowAction"
method="execute">
<paramname="savePath">/department</param>
<resultname="success">/index.jsp</result>
</action>
</package></struts>
Struts2中為應(yīng)用指定多個配置文件為了避免struts6
Struts2中為應(yīng)用指定多個配置文件2.配置一個名為employee.xml文件<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.1//EN""/dtds/struts-2.1.dtd">
<struts>
<packagename="employee"namespace="/employee"extends="struts-default">
<actionname="employee"class="com.qn.struts.HellowAction"
method="execute">
<paramname="savePath">/employee</param>
<resultname="success">/index.jsp</result>
</action>
</package>
</struts>
Struts2中為應(yīng)用指定多個配置文件2.配置一個名為em7
Struts2中為應(yīng)用指定多個配置文件3.在struts.xml中通過include進行配置<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN""/dtds/struts-2.0.dtd"><struts><constantname="struts.enable.DynamicMethodInvocation"value="false"/><constantname="struts.devMode"value="false"/><constantname="struts.objectFactory"value="org.apache.struts2.spring.StrutsSpringObjectFactory"/><constantname="struts.multipart.maxSize"value="1000000000"/>
<includefile="department.xml"></include>
<includefile="employee.xml"></include> </struts>
Struts2中為應(yīng)用指定多個配置文件3.在struts.8
Struts2中的國際化
Struts2中的國際化9
Struts2中的國際化
Struts2中的國際化10
Struts2中的國際化
Struts2中的國際化11
Struts2中的國際化
Struts2中的國際化12
Struts2中的國際化
Struts2中的國際化13
Struts2中的國際化案例:struts2app—i18n/LoginAction
Struts2中的國際化案例:struts2app—i1814
Struts2中的表單校驗—Annotations驗證Struts2提供了注解的方式校驗
1)@Validation指明這個類或者接口將使用基于注解的校驗。
2)@Validations()在同一個方法上要使用多個注解校驗時。
3)@SkipValidation指定某個方法不需要校驗。否則所有方法都會使用校驗。也可以在檢驗攔截器中使用validateAnnotatedMethodOnly
4)13個內(nèi)置校驗器的注解版本:
@RequiredFieldValidator
@RequiredStringValidator
@StringLengthFieldValidator
@IntRangeFieldValidator
@DoubleRangeFieldValidator
@DateRangeFieldValidator
@ExpressionValidator
@FieldExpressionValidator
@RegexFieldValidator
@EmailValidator
@UrlValidator
@VisitorFieldValidator
@ConversionErrorFieldValidator
案例:
annotation/SimpleAnnotationAction,annotation/AnnotationValidationAction
Struts2中的表單校驗—Annotations驗證St15
Struts2單文件上傳上傳jsp:
Struts2單文件上傳上傳jsp:16
Struts2單文件上傳action:
Struts2單文件上傳action:17
Struts2單文件上傳xml:案例:SingleUpload.jsp
Struts2單文件上傳xml:案例:SingleUplo18
Struts2多文件上傳jsp:
Struts2多文件上傳jsp:19
Struts2多文件上傳action:
Struts2多文件上傳action:20
Struts2多文件上傳xml:案例:MultiUpload.jsp
Struts2多文件上傳xml:案例:MultiUploa21
Struts2動態(tài)方法調(diào)用Struts.xml:
Struts2動態(tài)方法調(diào)用Struts.xml:22
Struts2動態(tài)方法調(diào)用action:
Struts2動態(tài)方法調(diào)用action:23
Struts2動態(tài)方法調(diào)用action:案例:DynamicAction.action
Struts2動態(tài)方法調(diào)用action:案例:Dynami24
Struts2使用通配符定義actionxml:
Struts2使用通配符定義actionxml:25
Struts2使用通配符定義actionaction:案例:WildcardAction.java
Struts2使用通配符定義actionaction:案例26
Struts2局部自定義類型轉(zhuǎn)換器
Struts2局部自定義類型轉(zhuǎn)換器27
Struts2局部自定義類型轉(zhuǎn)換器
Struts2局部自定義類型轉(zhuǎn)換器28
Struts2局部自定義類型轉(zhuǎn)換器
Struts2局部自定義類型轉(zhuǎn)換器29
Struts2局部自定義類型轉(zhuǎn)換器
Struts2局部自定義類型轉(zhuǎn)換器30
Struts2局部自定義類型轉(zhuǎn)換器案例:localconverter.CircleAction.java
Struts2局部自定義類型轉(zhuǎn)換器案例:localconv31
Struts2全局自定義類型轉(zhuǎn)換器必須在src的目錄下建立perties文件:案例:globalconverter.CircleAction.java
Struts2全局自定義類型轉(zhuǎn)換器必須在src的目錄下建立32
Struts2的OGNL表達式1.OGNL表達式語言
OGNL是ObjectGraphicNavigationLanguage(對象圖導(dǎo)航語言)的縮寫,它是一個開源項目。Struts2框架使用OGNL作為默認的表達式語言。2.訪問上下文(Context)中的對象需要使用#符號標(biāo)注命名空間,如#application、#session3.由于ValueStack(值棧)是Struts2中OGNL的根對象,如果用戶需要訪問值棧中的對象,在JSP頁面可以直接通過下面的EL表達式訪問ValueStack(值棧)中對象的屬性:
${foo}//獲得值棧中某個對象的foo屬性
Struts2的OGNL表達式1.OGNL表達式語言
OG33
Struts2的OGNL表達式#application.userName或者#application['userName'],相當(dāng)于調(diào)用ServletContext的getAttribute("username")。session對象:用來訪問HttpSession,例如#session.userName或者#session['userName'],相當(dāng)于調(diào)用session.getAttribute("userName")。request對象:用來訪問HttpServletRequest屬性(attribute)的Map,例如#request.userName或者#request['userName'],相當(dāng)于調(diào)用request.getAttribute("userName")。parameters對象:用于訪問HTTP的請求參數(shù),例如#parameters.userName或者#parameters['userName'],相當(dāng)于調(diào)用request.getParameter("username")。
Struts2的OGNL表達式#application.u34
Struts2的OGNL表達式#application.userName或者#application['userName'],相當(dāng)于調(diào)用ServletContext的getAttribute("username")。session對象:用來訪問HttpSession,例如#session.userName或者#session['userName'],相當(dāng)于調(diào)用session.getAttribute("userName")。request對象:用來訪問HttpServletRequest屬性(attribute)的Map,例如#request.userName或者#request['userName'],相當(dāng)于調(diào)用request.getAttribute("userName")。parameters對象:用于訪問HTTP的請求參數(shù),例如#parameters.userName或者#parameters['userName'],相當(dāng)于調(diào)用request.getParameter("username")。
Struts2的OGNL表達式#application.u35
Struts2中為action屬性注入值Struts2中為Action中的屬性提供了依賴注入功能,在Struts2的配置文件中,我們可以方便的為action中的屬性注入值,注意:屬性必須提供setter方法Action:
Struts2中為action屬性注入值Struts2中為36
Struts2中為action屬性注入值jsp:
Struts2中為action屬性注入值jsp:37
Struts2中為action屬性注入值xml:案例:ioc.IocAction.java
Struts2中為action屬性注入值xml:案例:io38
Struts2自定義攔截器Struts2攔截器在訪問某個Action方法之前或之后實施攔截,Struts2攔截器是可插拔的,攔截器是AOP(AspectOrientedProgramming面向切面)的一種實現(xiàn)
Struts2自定義攔截器Struts2攔截器在訪問某個39
Struts2自定義攔截器Action:
Struts2自定義攔截器Action:40
Struts2自定義攔截器Interceptor:
Struts2自定義攔截器Interceptor:41
Struts2自定義攔截器xml:
Struts2自定義攔截器xml:42
Struts2自定義攔截器登錄jsp:
Struts2自定義攔截器登錄jsp:43
Struts2自定義攔截器執(zhí)行動作jsp:從攔截器得到message
Struts2自定義攔截器執(zhí)行動作jsp:從攔截器得到44
Struts2自定義攔截器退出jsp:
Struts2自定義攔截器退出jsp:45
Struts2自定義攔截器演示攔截過程:1.http://localhost:8080/struts2web/intercepter/user.jsp2.http://localhost:8080/struts2web/IntercepterAction.action
Struts2自定義攔截器演示攔截過程:1.http://46
Struts2自定義攔截器演示攔截過程:3.http://localhost:8080/struts2web/intercepter/quit.jsp4.http://localhost:8080/struts2web/IntercepterAction.action案例:IntercepterAction.action
Struts2自定義攔截器演示攔截過程:3.http://47
Struts2異常處理
Struts2異常處理48演講完畢,謝謝觀看!演講完畢,謝謝觀看!49Struts2框架的工作原理與架構(gòu)分析郭劍峰2012年11月Struts2框架的工作原理與架構(gòu)分析郭劍峰
Struts2的工作原理一個請求在Struts2框架中的處理分為以下幾個步驟
1客戶端初始化一個指向Servlet容器(如Tomcat)請求
2這個請求經(jīng)過一系列的過濾器(Filter)3接著FilterDispatcher被調(diào)用,F(xiàn)ilterDispatcher詢問ActionMapper來決定這個請是否需要調(diào)用某個Action
4如果ActionMapper決定需要調(diào)用某個Action,F(xiàn)ilterDispatcher把請求的處理交給ActionProxy
5ActionProxy通過ConfigurationManager詢問框架的配置文件,找到需要調(diào)用的Action類
6ActionProxy創(chuàng)建一個ActionInvocation的實例。
7ActionInvocation實例使用命名模式來調(diào)用,在調(diào)用Action的過程前后,涉及到相關(guān)攔截器(Intercepter)的調(diào)用。
8一旦Action執(zhí)行完畢,ActionInvocation負責(zé)根據(jù)struts.xml中的配置找到對應(yīng)的返回結(jié)果。返回結(jié)果通常是一個需要被表示的JSP或者FreeMarker的模版。在表示的過程中可以使用Struts2框架中繼承的標(biāo)簽。在這個過程中需要涉及到ActionMapper
Struts2的工作原理一個請求在Struts2框架中的處51
Struts2的架構(gòu)分析Struts2框架也是由兩部分組成:XWork2和Struts2。XWork是一個命令模式框架,它是Struts2的基礎(chǔ)。XWork提供了很多核心功能:IoC(Inversionofcontrol,控制反轉(zhuǎn))容器,強大的表達式語言(OGNL:ObjectGraphNavigationLanguage-----對象圖像導(dǎo)航語言)數(shù)據(jù)類型轉(zhuǎn)換,驗證和可插入的配置。XWork框架的核心概念包括action,攔截器(inerceptor)和result.
Struts2的架構(gòu)分析Struts2框架也是由兩部分組成52
struts-default.xml文件struts-default.xml文件是struts2框架默認加載的配置文件。它定義struts2一些核心的bean和攔截器。這些攔截器是以key-value對的形式配置在struts-default.xml中,其中name是攔截器名字,就是后面使用該攔截器的引用點,value則指定攔截器的實現(xiàn)類。struts-default.xml:struts2全局配置文件,struts2框架啟動時會自動加載該文件位置:struts2-core.jar/struts-default.xml作用:定義bean和一個抽象的包。包中定義了返回類型、攔截器、攔截器棧、默認的攔截器和默認的Action
struts-default.xml文件struts-de53
perties文件作用:覆蓋系統(tǒng)配置信息struts.custom.i18n.resources=globalMessages
國際化文件的前綴名配置struts.ui.theme=simple
使用struts2的simple模板生成html代碼struts.ui.templateDir=templateStruts2的模板目錄是通過struts.ui.templateDir常量來指定的,該常量的默認值是template,即意味著Struts2會從Web應(yīng)用的template目錄struts.ui.templateSuffix=ftl
去除struts2標(biāo)簽中的自動生成的布局樣式struts.multipart.saveDir=/tmp設(shè)置struts2的臨時文件上傳路徑struts.multipart.maxSize=1000000000struts2修改文件上傳大小限制
perties文件作用:覆蓋系統(tǒng)配置信54
Struts2中為應(yīng)用指定多個配置文件為了避免struts.xml文件過于龐大、臃腫,提高代碼的可讀性,我們可以將一個struts.xml配置文件分解成過個配置文件,然后在struts.xml文件中包含其他配置文件。1.配置一個名為department.xml文件<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.1//EN""/dtds/struts-2.1.dtd">
<struts>
<packagename="department"namespace="/department"extends="struts-default">
<actionname="department"class="com.qn.struts.HellowAction"
method="execute">
<paramname="savePath">/department</param>
<resultname="success">/index.jsp</result>
</action>
</package></struts>
Struts2中為應(yīng)用指定多個配置文件為了避免struts55
Struts2中為應(yīng)用指定多個配置文件2.配置一個名為employee.xml文件<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.1//EN""/dtds/struts-2.1.dtd">
<struts>
<packagename="employee"namespace="/employee"extends="struts-default">
<actionname="employee"class="com.qn.struts.HellowAction"
method="execute">
<paramname="savePath">/employee</param>
<resultname="success">/index.jsp</result>
</action>
</package>
</struts>
Struts2中為應(yīng)用指定多個配置文件2.配置一個名為em56
Struts2中為應(yīng)用指定多個配置文件3.在struts.xml中通過include進行配置<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN""/dtds/struts-2.0.dtd"><struts><constantname="struts.enable.DynamicMethodInvocation"value="false"/><constantname="struts.devMode"value="false"/><constantname="struts.objectFactory"value="org.apache.struts2.spring.StrutsSpringObjectFactory"/><constantname="struts.multipart.maxSize"value="1000000000"/>
<includefile="department.xml"></include>
<includefile="employee.xml"></include> </struts>
Struts2中為應(yīng)用指定多個配置文件3.在struts.57
Struts2中的國際化
Struts2中的國際化58
Struts2中的國際化
Struts2中的國際化59
Struts2中的國際化
Struts2中的國際化60
Struts2中的國際化
Struts2中的國際化61
Struts2中的國際化
Struts2中的國際化62
Struts2中的國際化案例:struts2app—i18n/LoginAction
Struts2中的國際化案例:struts2app—i1863
Struts2中的表單校驗—Annotations驗證Struts2提供了注解的方式校驗
1)@Validation指明這個類或者接口將使用基于注解的校驗。
2)@Validations()在同一個方法上要使用多個注解校驗時。
3)@SkipValidation指定某個方法不需要校驗。否則所有方法都會使用校驗。也可以在檢驗攔截器中使用validateAnnotatedMethodOnly
4)13個內(nèi)置校驗器的注解版本:
@RequiredFieldValidator
@RequiredStringValidator
@StringLengthFieldValidator
@IntRangeFieldValidator
@DoubleRangeFieldValidator
@DateRangeFieldValidator
@ExpressionValidator
@FieldExpressionValidator
@RegexFieldValidator
@EmailValidator
@UrlValidator
@VisitorFieldValidator
@ConversionErrorFieldValidator
案例:
annotation/SimpleAnnotationAction,annotation/AnnotationValidationAction
Struts2中的表單校驗—Annotations驗證St64
Struts2單文件上傳上傳jsp:
Struts2單文件上傳上傳jsp:65
Struts2單文件上傳action:
Struts2單文件上傳action:66
Struts2單文件上傳xml:案例:SingleUpload.jsp
Struts2單文件上傳xml:案例:SingleUplo67
Struts2多文件上傳jsp:
Struts2多文件上傳jsp:68
Struts2多文件上傳action:
Struts2多文件上傳action:69
Struts2多文件上傳xml:案例:MultiUpload.jsp
Struts2多文件上傳xml:案例:MultiUploa70
Struts2動態(tài)方法調(diào)用Struts.xml:
Struts2動態(tài)方法調(diào)用Struts.xml:71
Struts2動態(tài)方法調(diào)用action:
Struts2動態(tài)方法調(diào)用action:72
Struts2動態(tài)方法調(diào)用action:案例:DynamicAction.action
Struts2動態(tài)方法調(diào)用action:案例:Dynami73
Struts2使用通配符定義actionxml:
Struts2使用通配符定義actionxml:74
Struts2使用通配符定義actionaction:案例:WildcardAction.java
Struts2使用通配符定義actionaction:案例75
Struts2局部自定義類型轉(zhuǎn)換器
Struts2局部自定義類型轉(zhuǎn)換器76
Struts2局部自定義類型轉(zhuǎn)換器
Struts2局部自定義類型轉(zhuǎn)換器77
Struts2局部自定義類型轉(zhuǎn)換器
Struts2局部自定義類型轉(zhuǎn)換器78
Struts2局部自定義類型轉(zhuǎn)換器
Struts2局部自定義類型轉(zhuǎn)換器79
Struts2局部自定義類型轉(zhuǎn)換器案例:localconverter.CircleAction.java
Struts2局部自定義類型轉(zhuǎn)換器案例:localconv80
Struts2全局自定義類型轉(zhuǎn)換器必須在src的目錄下建立perties文件:案例:globalconverter.CircleAction.java
Struts2全局自定義類型轉(zhuǎn)換器必須在src的目錄下建立81
Struts2的OGNL表達式1.OGNL表達式語言
OGNL是ObjectGraphicNavigationLanguage(對象圖導(dǎo)航語言)的縮寫,它是一個開源項目。Struts2框架使用OGNL作為默認的表達式語言。2.訪問上下文(Context)中的對象需要使用#符號標(biāo)注命名空間,如#application、#session3.由于ValueStack(值棧)是Struts2中OGNL的根對象,如果用戶需要訪問值棧中的對象,在JSP頁面可以直接通過下面的EL表達式訪問ValueStack(值棧)中對象的屬性:
${foo}//獲得值棧中某個對象的foo屬性
Struts2的OGNL表達式1.OGNL表達式語言
OG82
Struts2的OGNL表達式#application.userName或者#application['userName'],相當(dāng)于調(diào)用ServletContext的getAttribute("username")。session對象:用來訪問HttpSession,例如#session.userName或者#session['userName'],相當(dāng)于調(diào)用session.getAttribute("userName")。request對象:用來訪問HttpServletRequest屬性(attribute)的Map,例如#request.userName或者#request['userName'],相當(dāng)于調(diào)用request.getAttribute("userName")。parameters對象:用于訪問HTTP的請求參數(shù),例如#parameters.userName或者#parameters['userName'],相當(dāng)于調(diào)用request.getParameter("username")。
Struts2的OGNL表達式#application.u83
Struts2的OGNL表達式#application.userName或者#application['userName'],相當(dāng)于調(diào)用ServletContext的ge
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 會議后續(xù)跟蹤與效果評估制度
- 2026年浙江大學(xué)杭州國際科創(chuàng)中心吳新科教授課題組招聘備考題庫及答案詳解參考
- 2026年浙江大學(xué)愛丁堡大學(xué)聯(lián)合學(xué)院方兆元課題組科研助理招聘備考題庫及1套參考答案詳解
- 企業(yè)設(shè)備管理規(guī)范制度
- 中學(xué)學(xué)生社團活動經(jīng)費管理流程制度
- 2026年湘潭市九華中學(xué)(長沙市一中九華中學(xué))代課教師招聘備考題庫完整答案詳解
- 2026年榆林市第五幼兒園招聘備考題庫及參考答案詳解1套
- 2026年鐘祥市國有企業(yè)公開招聘工作人員16人備考題庫完整答案詳解
- 2026年玉環(huán)公證處招聘備考題庫及一套答案詳解
- 2026年河南姚孟能源投資有限公司招聘備考題庫及參考答案詳解一套
- 人工智能推動金融數(shù)據(jù)治理轉(zhuǎn)型升級研究報告2026
- 2026長治日報社工作人員招聘勞務(wù)派遣人員5人備考題庫含答案
- 期末教師大會上校長精彩講話:師者當(dāng)備三盆水(洗頭洗手洗腳)
- 2026年濰坊職業(yè)學(xué)院單招綜合素質(zhì)筆試備考試題附答案詳解
- GJB1406A-2021產(chǎn)品質(zhì)量保證大綱要求
- JGJT46-2024《施工現(xiàn)場臨時用電安全技術(shù)標(biāo)準》條文解讀
- GB/T 1040.3-2006塑料拉伸性能的測定第3部分:薄膜和薄片的試驗條件
- GB 11887-2008首飾貴金屬純度的規(guī)定及命名方法
- 《LED的基礎(chǔ)知識》課件
- 需求導(dǎo)向式銷售研討課程課件
- DB13T 5603-2022 工貿(mào)行業(yè)非高危建設(shè)項目安全設(shè)施“三同時”報告編制導(dǎo)則
評論
0/150
提交評論