




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一章Struts2基礎(chǔ)知識(shí)本章要點(diǎn)·配置Sturts2運(yùn)行環(huán)境·
Struts2第一個(gè)例子·Struts2框架工作原理·配置Struts2·Action和類(lèi)型轉(zhuǎn)換配置Sturts2運(yùn)行環(huán)境Struts已經(jīng)分化成了兩個(gè)框架在傳統(tǒng)的Struts1的基礎(chǔ)上,融合了另外的一個(gè)優(yōu)秀的
Web框架WebWork的Struts2框架Shale,與原有的Struts1關(guān)聯(lián)很少,使用了全新的設(shè)計(jì)思想配置Struts2運(yùn)行環(huán)境安裝和配置好JDK后,配置JDK環(huán)境變量安裝Java
Web服務(wù)器,選擇開(kāi)源的Tomcat作為服務(wù)器安裝Struts2框架Struts2框架的安裝Struts的官方網(wǎng)站:,目前最新版本是Struts
2.x下載完畢后,將下載的壓縮包進(jìn)行解壓,然后找到lib文件夾,將類(lèi)庫(kù)struts2-core-2.2.1.jar、xwork2.2.1.jar、freemarker-2.3.1.jar、commons-fileupload-1.2.1.jar以及commons-logging-1.0.4.ja制到Web應(yīng)用的WEB-INF/lib文件夾中·所復(fù)制類(lèi)庫(kù)的作用Struts2的核心庫(kù)WebWork的核心庫(kù),需要它的支持OGNL表達(dá)式語(yǔ)言,Struts2支持該EL表達(dá)式表現(xiàn)層框架,定義了Struts2的可視組件主題日志管理文件上傳與下載MyEclipse自帶工具加載Struts2框架·添加Struts框架支持·選擇Struts2框架·加載完成后自動(dòng)添加了Struts2所需jar包·配置Sturts2運(yùn)行環(huán)境·
Struts2第一個(gè)例子·Struts2框架工作原理·配置Struts2·Action和類(lèi)型轉(zhuǎn)換Struts2第一個(gè)例子實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的登錄功能,用戶(hù)打開(kāi)一個(gè)登錄頁(yè)面輸入登錄名稱(chēng)和登錄密碼,如果登錄名稱(chēng)和登錄密碼輸入正確就進(jìn)入歡迎頁(yè)面,否則就重新回到登錄頁(yè)面將項(xiàng)目命名為Demo1,功能實(shí)現(xiàn)后,目錄結(jié)構(gòu)如下Demo1工作實(shí)例Struts2攔截用戶(hù)請(qǐng)求·
在web.xml文件中配置Struts2的核心控制器,用來(lái)攔截客戶(hù)端請(qǐng)求,并把請(qǐng)求轉(zhuǎn)發(fā)到相應(yīng)的Action類(lèi)來(lái)處理,代碼如下:<?xml
version="1.0"
encoding="UTF-8"?><web-app
version="2.5"
xmlns="/xml/ns/javaee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/javaee
/xml/ns/javaee/web-app_2_5.xsd"><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping></web-app>創(chuàng)建視圖頁(yè)面login.jsp·
Struts2的標(biāo)簽庫(kù)是Struts2的重要組成部分,不僅為表現(xiàn)層提供了數(shù)據(jù)處理能力,而且也提供了基本的流程控制功能以及對(duì)國(guó)際化、Ajax的支持等諸多功能。通過(guò)使用Struts2的標(biāo)簽庫(kù)可以最大限度地減少試圖頁(yè)面的編碼量。login.jsp使用
Struts2標(biāo)簽庫(kù)實(shí)現(xiàn)了一個(gè)表單,核心代碼如下:<body><div
style="font-size:14px;font-weight:bold">用戶(hù)登錄</div><div><s:form
action=""
namespace="/login"><s:textfield
name="username"style="font-size:12px;width:120px;"label="登錄名稱(chēng)"/><s:password
name="password"style="font-size:12px;width:120px;"label="登錄密碼"/><s:submit
value="登錄"/></s:form></div></body>創(chuàng)建歡迎頁(yè)面success.jsp·success.jsp為登錄成功后顯示的歡迎頁(yè)面,代碼如下<body><div
style="margin:40px;font-weight:bold">登錄成功,歡迎您!</div></body>創(chuàng)建業(yè)務(wù)控制器LoginAction·
本實(shí)例的邏輯控制器組件Action,代碼如下package
com.action;import
com.opensymphony.xwork2.ActionSupport;public
class
LoginAction
extends
ActionSupport
{private
String
username;private
String
password;public
String
getUsername()
{return
username;}public
void
setUsername(String
username)
{this.username
=
username;}public
String
getPassword()
{return
password;}public
void
setPassword(String
password)
{this.password
=
password;}public
String
execute()
throws
Exception{if(this.username.equals("admin")&&this.password.equals("12345")){else
{return
SUCCESS;return
LOGIN;}}}}配置LoginAction當(dāng)Action處理完客戶(hù)端請(qǐng)求后就會(huì)返回一個(gè)字符串,每個(gè)字符串都對(duì)應(yīng)一個(gè)視圖在Struts.xml文件中配置Action時(shí),name屬性定義該Action的名稱(chēng),class定義這個(gè)Action的實(shí)際實(shí)現(xiàn)類(lèi),method表示checkLogin這個(gè)Action由實(shí)際實(shí)現(xiàn)類(lèi)LoginAction的checkLogin()方法來(lái)處理配置Action時(shí),為每個(gè)Action都指定了result元素,每個(gè)result元素都定義了一個(gè)邏輯視圖,而用
name定義了Action所返回的字符串·struts.xml文件內(nèi)容如下<?xml
version="1.0"
encoding="UTF-8"
?><!DOCTYPE
struts
PUBLIC
"-//Apache
Software
Foundation//DTD
Struts
Configuration2.1//EN"
"/dtds/struts-2.1.dtd"><struts><package
name="default"
extends="struts-default"
namespace="/"><action
name="checkLogin"
class="com.action.LoginAction"><result
name="success">/success.jsp</result><result
name="login">/login.jsp</result></action></package></struts>·說(shuō)明·
web.xml文件存儲(chǔ)在WEB-INF目錄下struts.xml文件應(yīng)放在WEB-INF\classes目錄下lib下存儲(chǔ)的是所必須的類(lèi)庫(kù)包,如Struts2核心類(lèi)庫(kù)包等效果演示實(shí)例部署到Tomcat服務(wù)器上后打開(kāi)login.jsp頁(yè)面在兩個(gè)文本框中都輸入admin,單擊“登錄”按鈕,登錄成功后會(huì)轉(zhuǎn)向success.jsp頁(yè)面login.jspsuccess.jsp本章要點(diǎn)·配置Sturts2運(yùn)行環(huán)境·
Struts2第一個(gè)例子·Struts2框架工作原理·配置Struts2·Action和類(lèi)型轉(zhuǎn)換Struts2框架工作原理單擊“登錄”按鈕,向服務(wù)器提交登錄請(qǐng)求由于在web.xml文件中配置了Struts2核心控制器FilterDispatcher,此時(shí)Struts2就會(huì)攔截這個(gè)登錄請(qǐng)求由于表單的action值為checkLogin,F(xiàn)ilterDispatcher就會(huì)在struts.x配置文件中查找name為checkLogin的Action配置,找到后就會(huì)將已經(jīng)攔截的登錄請(qǐng)求轉(zhuǎn)發(fā)給LoginAction來(lái)處理由于在struts.xml配置文件中Action的method屬性的值是Checklogin,LoginAction就會(huì)調(diào)用自身的checkLogin()方法完成對(duì)客戶(hù)端的登錄請(qǐng)求的處理。如果登錄成功就返回SUCCESS,登錄失敗就返
回LOGIN由于在struts.xml配置文件中配置LoginAction時(shí)指定了<resultname=”success”>/success.jsp</result>,所以當(dāng)LoginAction返回
success時(shí)則轉(zhuǎn)向success.jsp頁(yè)面,否則轉(zhuǎn)向login.jsp頁(yè)面處理流程說(shuō)明FilterDispatcher是Struts2的核心控制器,負(fù)責(zé)攔截所有的客戶(hù)端請(qǐng)求struts.xml文件是Struts2框架的配置文件,主要負(fù)責(zé)配置業(yè)務(wù)邏輯控制器Action,以及用戶(hù)自定義的攔截器等,是Struts2各個(gè)組件之間的紐帶Action是Struts2的業(yè)務(wù)邏器,負(fù)責(zé)處理客戶(hù)端請(qǐng)求并將處理結(jié)果輸出給客戶(hù)端,要想處理客戶(hù)端請(qǐng)求就必須獲得請(qǐng)求字符串的參數(shù)或從表單提交的數(shù)據(jù)Action在處理完客戶(hù)端請(qǐng)求后會(huì)通過(guò)視圖組件把處理結(jié)果顯示出來(lái)本章要點(diǎn)·配置Sturts2運(yùn)行環(huán)境·
Struts2第一個(gè)例子·Struts2框架工作原理·配置Struts2·Action和類(lèi)型轉(zhuǎn)換配置Struts2任何MVC框架都需要與Web應(yīng)用整合,這就不得不借助/WEB-INF路徑下的web.xml文件,只有配置web.xml文件,Servlet才會(huì)被應(yīng)用加載對(duì)于Struts2框架而言,需要加載FilterDispatcher配置Web.xml·
Struts2將核心控制器設(shè)計(jì)成一個(gè)過(guò)濾器Filter,而不是一個(gè)普通的Servlet,需要在Web.xml文件中配置
FilterDispatcher,代碼片段如下<!--struts過(guò)濾器--><filter><!--配置Struts2核心Filter的名字--><filter-name>struts2</filter-name><!--配置Struts2核心Filter的實(shí)現(xiàn)類(lèi)--><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><!--配置Struts2的映射--><filter-name>struts2</filter-name><url-pattern>*</url-pattern></filter-mapping>·
子元素<url-pattern>的值為”*”時(shí)表示用戶(hù)的所有請(qǐng)求都是使用此框架來(lái)處理·配置FilterDispatcher類(lèi)時(shí),還可以指定一系列的初始化參數(shù)actionPackages參數(shù),用來(lái)配置Struts2框架默認(rèn)加載的
Action包結(jié)構(gòu),參數(shù)的值是一個(gè)字符串類(lèi)型的包空間,
如果有多個(gè)包空間,可以用英文“,”符號(hào)隔開(kāi)配置Struts2常量,每個(gè)<init-param>元素配置一個(gè)Struts常量,其中<param-name>子元素指定了常量名,而<param-value>子元素指定了常量值初始化參數(shù)的配置示例<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class><init-param><!--配置Struts2框架默認(rèn)加載的Action包結(jié)構(gòu)--><param-name>actionPackages</param-name><param-value>org.apache.Struts2.showcase.person</param-value></init-param><!--配置Struts2框架的配置提供者類(lèi)--><init-param><param-name>configProviders</param-name><param-value>superMos.myconfigurationProvider</param-value></init-param></filter>配置Struts2.xmlStruts框架的核心配置文件,主要負(fù)責(zé)管理Struts2框架的業(yè)務(wù)控制器Action,不對(duì)業(yè)務(wù)進(jìn)行真正的操作,調(diào)用的是業(yè)務(wù)邏輯組件的功能。相當(dāng)于Service的功能組件,業(yè)務(wù)邏輯組件又封裝了DAO等操作默認(rèn)情況下,Struts2框架將自動(dòng)加載放到/WEB-INF/classes路徑下的struts.xml文件中,在EclipseIDE環(huán)境下進(jìn)行Struts2的配置,一定要將struts.xml文件放到
src文件夾Struts2框架通過(guò)struts.xml文件自動(dòng)加載資源完成各種所需的功能Struts.xml基本結(jié)構(gòu)<?xml
version="1.0"
encoding="UTF-8"
?><!DOCTYPE
struts
PUBLIC
"-//Apache
Software
Foundation//DTD
Struts
Configuration
2.1//EN"
"/dtds/struts-2.1.dt<struts><!--基本配置--><constant
name="struts.devMode"
value="false"></constant><constant
name="struts.locale"
value="zh_CN"></constant><constant
name="struts.i18n.encoding"
value="UTF-8"></constant><!--包含文件的配置--><include
file=”struts-chat.xml”/><include
file=”struts-hangman.xml”/><!--默認(rèn)包的配置--><package
name="default"
extends="struts-default"
namespace="/"><!—攔截器的配置--><interceptors><interceptor-stack
name="stack"><interceptor-ref
name="checkbox"></interceptor-ref><interceptor-ref
name="params"></interceptor-ref></interceptor-stack></interceptors><!--Action的配置--><action
name="login"
class="com.action.LoginAction"><result
name="success">/success.jsp</result><result
name="login">/login.jsp</result></action><action
name="welcome"><result>/WEB-INF/jsp/welcome.jsp</result></action></package></struts>配置SpertiesStruts2框架的兩個(gè)核心配置文件struts.xml文件主要負(fù)責(zé)管理應(yīng)用中的Action映射,以及該Action包含的Result定義等perties文件,該文件定義了Struts
2框架的大性,開(kāi)發(fā)者可以通過(guò)改變這些屬性來(lái)滿(mǎn)足應(yīng)用的需求perties文件通常放在Web應(yīng)用的WEB-INF/classesperties文件是一個(gè)標(biāo)準(zhǔn)的Properties文件包含了系列的key-value對(duì)象,每個(gè)key就是一個(gè)
Struts
2屬性,該key對(duì)應(yīng)的value就是一個(gè)Struts
2屬性值·Struts2提供了兩種方式來(lái)管理Struts2的屬性,既可以通過(guò)perties文件來(lái)配置Struts2屬性,也可以通過(guò)在struts.xml文件中配置constant元素來(lái)配置Struts2屬性,struts.xml配置文件如下<?xml
version="1.0"
encoding="UTF-8"
?><!DOCTYPE
struts
PUBLIC
"-//Apache
Software
Foundation//DTD
Struts
Configuration2.1//EN"
"/dtds/struts-2.1.dtd"><struts><!—通過(guò)constant元素配置Struts2的屬性--><constant
name="struts.custom.il8n.resources"
value="messageResource"/><constant
name="struts.locale"
value="zh_CN"></constant><constant
name="struts.i18n.encoding"
value="UTF-8"></constant>……</struts>本章要點(diǎn)·配置Sturts2運(yùn)行環(huán)境·
Struts2第一個(gè)例子·Struts2框架工作原理·配置Struts2·Action和類(lèi)型轉(zhuǎn)換Action和類(lèi)型轉(zhuǎn)換在Struts2中,一個(gè)Action類(lèi)代表一次請(qǐng)求或調(diào)用,每個(gè)請(qǐng)求的動(dòng)作都對(duì)應(yīng)于一個(gè)相應(yīng)的Action類(lèi)一個(gè)Action類(lèi)是一個(gè)獨(dú)立的工作單元每次用戶(hù)的請(qǐng)求,都會(huì)轉(zhuǎn)到一個(gè)相應(yīng)的Action類(lèi)里面,由這個(gè)Action類(lèi)來(lái)進(jìn)行處理實(shí)現(xiàn)Action控制類(lèi)·Struts2通常直接使用Action來(lái)封裝HTTP請(qǐng)求參數(shù),因此需要為Action中的屬性添加setter()與getter()方法,LoginAction.java代碼如下public
class
LoginAction
{private
String
userName;private
String
password;public
String
execute()
throws
Exception{return
"success";}public
String
getUserName()
{return
userName;}public
void
setUserName(String
userName)
{this.userName
=
userName;}public
String
getPassword()
{return
password;}public
void
setPassword(String
password)
{this.password
=
password;}}·為了更加規(guī)范的開(kāi)發(fā)Action,Struts提供了一個(gè)
Action接口,代碼如下·一般寫(xiě)Action類(lèi)通常不用實(shí)現(xiàn)該接口,而是繼承該接口的實(shí)現(xiàn)類(lèi)ActionSupportpublic
interface
Action
{public
static
final
java.lang.String
SUCCESS="success";//定義靜態(tài)常量SUCCESS,即字符串successpublic
static
final
java.lang.String
NONE="none";//定義靜態(tài)常量NONE,即字符串nonepublic
static
final
java.lang.String
ERROR="error";//定義靜態(tài)常量ERROR,即字符串errorpublic
static
final
java.lang.String
INPUT="input";//定義靜態(tài)常量INPUT,即字符串inputpublic
static
final
java.lang.String
LOGIN="login";//定義靜態(tài)常量LOGIN,即字符串Loginpublic
abstract
String
execute()throws
Exception;//定義execute()方法}訪問(wèn)和配置Action在Struts2中,Action已經(jīng)與Servlet
API完全分離,這使得Struts2的Action具有更加靈活和低耦合的特性在實(shí)現(xiàn)業(yè)務(wù)邏輯處理時(shí),經(jīng)常需要訪問(wèn)Servlet中的對(duì)象,例如session、request和application等。Struts2供了一個(gè)名稱(chēng)為ActionContext的類(lèi)可以通過(guò)下面的代碼來(lái)創(chuàng)建和使用ActionContext·
ActionContext
ac
=
ActionContext.getContext();·ActionContext類(lèi)的常用方法ActionContext訪問(wèn)示例創(chuàng)建應(yīng)用程序的根目錄為ch1,添加Struts2應(yīng)用創(chuàng)建登錄頁(yè)面login.jsp<body><h2>用戶(hù)登錄</h2><s:form
action="checkLogin"
namespace="/"><s:textfield
name="name"label="登錄名稱(chēng)"size="15"/><s:password
name="pwd"label="登錄密碼"size="15"/><s:submit
value="登錄"/></s:form></body>新建名稱(chēng)為L(zhǎng)oginAction.java的文件,實(shí)現(xiàn)Action在struts.xml文件中對(duì)LoginAction.java進(jìn)行配置<package
name="default"
extends="struts-default"
namespace="/"><action
name="checkLogin"
class="com.action.LoginAction"
method="checkLogin"><result>/index.jsp</result></action></package>·新建文件名為index.jsp的文件,顯示登錄信息<body
>讀取session中的信息:歡迎<s:property
value="#session.login"/>。<br>讀取application中的信息:歡迎<s:property
value="#application.login"/></body>·在瀏覽器地址欄中輸入http://localhost:8080/ch1/login.jsp,顯示登錄頁(yè)面動(dòng)態(tài)方法調(diào)用·指定method屬性·在struts.xml配置文件中配置<action/>元素的時(shí)候,可以為其指定method屬性,可以讓Action調(diào)用指定的方法來(lái)處理用戶(hù)的請(qǐng)求,而不是使用execute()方法來(lái)處理<package
name="default"
extends="struts-default"
namespace="/"><!--使用LoginAction類(lèi)中的login方法來(lái)處理登錄請(qǐng)求--><action
name="login"
class="com.action.LoginAction"
method="login"><result>/index.jsp</result></action><!--使用LoginAction類(lèi)中的register方法來(lái)處理注冊(cè)請(qǐng)求--><action
name="register"
class="com.action.LoginAction"
method="register"><result>/register.jsp</result></action></package>·不指定method屬性·
表單元素的action屬性并不是直接等于某個(gè)Action的名字,form表單不需要指定method屬性,而是如下形式來(lái)指定<s:form
action=”Action名稱(chēng)!方法名稱(chēng)”>或<s:form
action=”Action名稱(chēng)!方法名稱(chēng).action”>·使用這種方式將請(qǐng)求提交到Action時(shí),如果在JSP頁(yè)面中有多個(gè)提交按鈕,每個(gè)按鈕的提交事件都交給同一個(gè)Action,但是對(duì)應(yīng)Action中的不同方法,這時(shí),在struts.xml文件中只需要配置該Action,而不必配置每個(gè)方法<s:form
action=”login.login”>….<action
name="login"
class="com.action.LoginAction"><result>/index.jsp</result></action>·使用通配符
在配置<action/>時(shí),需要填寫(xiě)name、class、method,這三個(gè)屬性都支持通配符,這種通配符的調(diào)用是另一種形式的動(dòng)態(tài)調(diào)用,使
得Action的配置更加方便<package
name="default"
extends="struts-default"
namespace="/"><action
name="login_*"
class="com.action.LoginAction"
method="{1}"><result>/index.jsp</result></action></package>
<action
name="login_*">是定義了一系列的Action,只要用戶(hù)請(qǐng)求的URL是login_*的方式,都可以使用此Action來(lái)處理
該method屬性使用了一個(gè)表達(dá)式{1},該表達(dá)式的意思是使用name
屬性第一個(gè)*的值,例如,如果用戶(hù)請(qǐng)求的URL是:
”/login_login”,那么調(diào)用LoginAction里login方法,如果用戶(hù)請(qǐng)求的URL是:”/login_register”,那么調(diào)用LoginAction里register方法·使用通配符對(duì)result元素也可以采用通配符配置<action
name="login_*"
class="com.action.LoginAction"
method="{1}"><result
name="input">/input.jsp</result><result>/{1}.jsp</result></action>當(dāng)處理結(jié)果是input時(shí),會(huì)轉(zhuǎn)到/input.jsp頁(yè)面,當(dāng)處理結(jié)果是success時(shí),如果login_create.action,則會(huì)執(zhí)行
com.action.LoginAction中的create方法,并且跳轉(zhuǎn)到/create.jsp;如果login_delete.action,則會(huì)執(zhí)行com.action.LoginAction中的delete方法,并且跳轉(zhuǎn)到/delete.jsp使用Struts2內(nèi)建類(lèi)型轉(zhuǎn)換器Struts2支持的數(shù)據(jù)類(lèi)型的自動(dòng)轉(zhuǎn)換,這種轉(zhuǎn)換以
OGNL(Object-Graph
Navigation
Language)為基礎(chǔ)OGNL的具體實(shí)現(xiàn)是:數(shù)據(jù)轉(zhuǎn)移和類(lèi)型轉(zhuǎn)換數(shù)據(jù)轉(zhuǎn)移就是把頁(yè)面上的參數(shù)轉(zhuǎn)換成屬性,或?qū)傩燥@示在頁(yè)面上類(lèi)型轉(zhuǎn)換就是如何將頁(yè)面上提交的字符串?dāng)?shù)據(jù)轉(zhuǎn)換成屬性中的int、float等,或反過(guò)來(lái)簡(jiǎn)單類(lèi)型轉(zhuǎn)換·Struts2內(nèi)建的類(lèi)型轉(zhuǎn)換器通常都能滿(mǎn)足應(yīng)用需求。將客戶(hù)端輸入的數(shù)量和價(jià)格分別轉(zhuǎn)換為int和double類(lèi)型,視圖頁(yè)面goods.jsp的內(nèi)容如下<body><h2>添加商品</h2><s:form
action="addAction"
namespace="/"
method="add"><s:textfield
name="name"label="商品名稱(chēng)"size="15"/><s:textfield
name="price"label="商品價(jià)格"size="15"/><s:textfield
name=”num”label="商品數(shù)量"size="15"/><s:submit
value="添加"/></s:form></body>·
實(shí)現(xiàn)了添加商品的表單,用戶(hù)輸入商品的名稱(chēng)、價(jià)格和數(shù)量。表單提交后,信息被作為字符串傳遞給了服務(wù)器端的Action·AddAction.java的代碼如下·Action中的price和num屬性分別是double和int類(lèi)型,而客戶(hù)端提交的都是字符串格式的數(shù)據(jù),商品價(jià)格需要從字符串類(lèi)型轉(zhuǎn)換為double類(lèi)型和int類(lèi)型package
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025農(nóng)業(yè)發(fā)展周轉(zhuǎn)金審批合同
- 2025(技術(shù)員)勞動(dòng)合同
- 2025特定崗位聘任的合同協(xié)議書(shū)范本
- 2024年合肥長(zhǎng)豐縣公共服務(wù)運(yùn)營(yíng)管理有限責(zé)任公司招聘5人筆試參考題庫(kù)附帶答案詳解
- 云南省玉溪市玉溪第一中學(xué)2025年高三4月模擬訓(xùn)練數(shù)學(xué)試題
- 2024年?yáng)|方地球物理勘探有限責(zé)任公司秋季高校畢業(yè)生招聘280人筆試參考題庫(kù)附帶答案詳解
- 美形美體課程介紹
- 糖尿病病足護(hù)理教學(xué)查房
- 二零二五版房產(chǎn)物業(yè)買(mǎi)賣(mài)居間合同簽訂要點(diǎn)
- 飼料公司職業(yè)病危害告知合同
- 2024年全國(guó)中學(xué)生生物學(xué)聯(lián)賽試題含答案
- 靜配中心崗前培訓(xùn)測(cè)試題附答案
- 《土壤污染與防治》教學(xué)課件
- 《公共營(yíng)養(yǎng)師》課件
- 課標(biāo)版高中《音樂(lè)鑒賞》學(xué)業(yè)水平測(cè)試題庫(kù)(含答案)
- 第13課 現(xiàn)代戰(zhàn)爭(zhēng)與不同文化的碰撞和交流 課件(17張PPT)
- DB32∕T 3158-2016 內(nèi)河水上服務(wù)區(qū)建設(shè)標(biāo)準(zhǔn)
- CRRT vs 中毒血液凈化模式選擇
- 《汽車(chē)座椅制造工藝》PPT課件
- 《等量代換》ppt(基礎(chǔ)教育)
- 高壓液氧泵原理、結(jié)構(gòu)及檢修、結(jié)構(gòu)及檢修
評(píng)論
0/150
提交評(píng)論