版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第6章JavaServlet基礎(chǔ)學(xué)習(xí)目的與要求本章主要介紹Java
Servlet的基礎(chǔ)知識,包括部署Servlet、Servlet的生命周期、JSP頁面如何訪問Servlet、重定向與轉(zhuǎn)發(fā)等。通過本章的學(xué)習(xí),熟練掌握Servlet對象的創(chuàng)建與運行,理解Servlet的生命周期與工作原理?!禞avaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄6.1Servlet類與Servlet對象6.2Servlet對象的創(chuàng)建與運行6.3Servlet的生命周期6.4通過JSP頁面訪問Servlet6.5doGet()和doPost()方法6.6重定向與轉(zhuǎn)發(fā)6.7在JavaServlet中使用session6.8基于Servlet的MVC模式《JavaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.1Servlet類與Servlet對象編寫一個Servlet類很簡單,只要繼承jakarta.servlet.http包中的HttpServlet類,并重寫響應(yīng)HTTP請求的方法即可。HttpServlet類實現(xiàn)了Servlet接口,實現(xiàn)了響應(yīng)用戶請求的接口方法。HttpServlet類的一個子類習(xí)慣地稱為一個Servlet類,這樣的子類創(chuàng)建的對象又習(xí)慣地稱為servlet對象?!纠?-1】一個簡單的Servlet類。《JavaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄6.1Servlet類與Servlet對象6.2Servlet對象的創(chuàng)建與運行6.3Servlet的生命周期6.4通過JSP頁面訪問Servlet6.5doGet()和doPost()方法6.6重定向與轉(zhuǎn)發(fā)6.7在JavaServlet中使用session6.8基于Servlet的MVC模式《JavaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.2Servlet對象的創(chuàng)建與運行要想讓W(xué)eb服務(wù)器使用Servlet類編譯后的字節(jié)碼文件創(chuàng)建Servlet對象處理用戶請求,必須先為Web服務(wù)器部署Servlet。部署Servlet,目前有兩種方式:一是在web.xml中部署Servlet;一是基于注解的方式部署Servlet?!禞avaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.2.1在web.xml中部署Servletweb.xml文件由Web服務(wù)器負(fù)責(zé)管理,該文件是Web應(yīng)用的部署描述文件,包含如何將用戶請求URL映射到Servlet。因此,可以在Web項目的web\WEB-INF\web.xml文件中,部署自己的Servlet。<servlet> <servlet-name>firstServlet</servlet-name> <servlet-class>servlet.FirstServlet</servlet-class></servlet><servlet-mapping> <servlet-name>firstServlet</servlet-name> <url-pattern>/firstServlet</url-pattern></servlet-mapping>《JavaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.2.2基于注解的方式部署Servlet從6.2.1節(jié)可知,每開發(fā)一個Servlet,都要在web.xml文件中部署Servlet才能夠使用。這樣會給Web工程的維護(hù)帶來非常大的麻煩。從Servlet3.0開始提供了注解@WebServlet,使得不再需要在web.xml文件中進(jìn)行Servlet的部署描述,簡化開發(fā)流程。本書中后續(xù)的Servlet都是基于注解的方式部署。注解雖然方便了開發(fā)人員,但在后期會讓維護(hù)和調(diào)試成本增加。為方便后期維護(hù),建議開發(fā)人員部署Servlet時把@WebServlet的屬性urlPatterns的值設(shè)置為Servlet類的名字。例如:@WebServlet(name="secondServlet",urlPatterns={"/secondServlet"})publicclassSecondServletextendsHttpServlet{}《JavaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
1.@WebServlet@WebServlet用于將一個類聲明為Servlet對象,該注解將會在部署時被Web容器處理,Web容器根據(jù)具體屬性將相應(yīng)的類部署為Servlet對象。屬性名類
型描
述nameString指定Servlet的name屬性,等價于<servlet-name>。如果沒有顯式指定,則該Servlet的取值即為類的全名。valueString[]該屬性等價于urlPatterns屬性。兩個屬性不能同時使用。urlPatternsString[]指定一組Servlet的URL匹配模式。等價于<url-pattern>標(biāo)簽。loadOnStartupint指定Servlet的加載順序,等價于<load-on-startup>標(biāo)簽。initParamsWebInitParam[]指定一組Servlet初始化參數(shù),等價于<init-param>標(biāo)簽。以上所有屬性均為可選屬性,但是vlaue或者urlPatterns通常是必需的,且二者不能共存,如果同時指定,通常是忽略value的取值??墒褂煤喕⒔?,如@WebServlet("/secondServlet"),其中“/secondServlet”為請求的URL,即urlPatterns屬性值?!纠?-2】基于注解的Servlet類——SecondServlet?!禞avaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
2.@WebInitParam@WebInitParam注解通常不單獨使用,而是配合@WebServlet和@WebFilter(第8章講解)使用。它的作用是為Servlet或Filter指定初始化參數(shù),這等價于web.xml中<servlet>的<init-param>子標(biāo)簽。屬性名類
型是否可選描
述nameString否指定參數(shù)的名字,等價于<param-name>。valueString否指定參數(shù)的值,等價于<param-value>。@WebServlet(name="thirdServlet",urlPatterns={"/thirdServlet"},initParams={@WebInitParam(name="firstParam",value="one"),@WebInitParam(name="secondParam",value="two")})《JavaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.2.3實踐環(huán)節(jié)——@WebServlet的應(yīng)用首先,將web.xml文件中有關(guān)Servlet的部署代碼刪除,然后使用注解的方式部署例6-1的Servlet,并運行部署后的Servlet。《JavaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄6.1Servlet類與Servlet對象6.2Servlet對象的創(chuàng)建與運行6.3Servlet的生命周期6.4通過JSP頁面訪問Servlet6.5doGet()和doPost()方法6.6重定向與轉(zhuǎn)發(fā)6.7在JavaServlet中使用session6.8基于Servlet的MVC模式《JavaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.3Servlet的生命周期1.初始化Servlet對象當(dāng)Servlet對象第一次被請求加載時,服務(wù)器會創(chuàng)建一個Servlet對象,該Servlet對象調(diào)用init()方法完成必要的初始化工作。2.service方法響應(yīng)請求創(chuàng)建的Servlet對象再調(diào)用service方法響應(yīng)客戶的請求。3.Servlet對象死亡當(dāng)服務(wù)器關(guān)閉時,Servlet對象調(diào)用destroy()方法使自己消亡。從上面三個過程來看,init()方法只能被調(diào)用一次,即在Servlet第一次被請求加載時調(diào)用該方法。當(dāng)客戶端請求Servlet服務(wù)時,服務(wù)器將啟動一個新的線程,在該線程中,Servlet對象調(diào)用service()方法響應(yīng)客戶端的請求。那么多客戶端請求Servlet服務(wù)時,服務(wù)器會怎么辦呢?服務(wù)器會為每個客戶端啟動一個新的線程,在每個線程中,Servlet對象調(diào)用service()方法響應(yīng)客戶端的請求。也就是說,每個客戶端請求都會導(dǎo)致service()方法被調(diào)用執(zhí)行,分別運行在不同的線程中?!纠?-3】Servlet接口的init()、service()和destroy()方法?!禞avaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄6.1Servlet類與Servlet對象6.2Servlet對象的創(chuàng)建與運行6.3Servlet的生命周期6.4通過JSP頁面訪問Servlet6.5doGet()和doPost()方法6.6重定向與轉(zhuǎn)發(fā)6.7在JavaServlet中使用session6.8基于Servlet的MVC模式《JavaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.4通過JSP頁面訪問Servlet可以通過JSP頁面的表單或超鏈接請求某個Servlet。通過JSP頁面訪問Servlet的好處是,JSP頁面負(fù)責(zé)頁面的靜態(tài)信息處理,動態(tài)信息處理由Servlet完成。1.通過表單訪問Servlet假設(shè)在JSP頁面中,有如下表單:<formaction="isLogin"method="post">……</form>那么該表單的處理程序(action)就是一個Servlet,為該Servlet部署時,@WebServlet
的urlPatterns屬性值為“{"/isLogin"}”?!禞avaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.4通過JSP頁面訪問Servlet2.通過超鏈接訪問Servlet在JSP頁面中,可以單擊超鏈接,訪問Servlet對象,同時也可以通過超鏈接向Servlet提交信息,例如,<ahref="loginServlet?user=taipingle&&pwd=zhenzuile">查看用戶名和密碼</a>,“查看用戶名和密碼”這個超鏈接就將user=taipingle和pwd=zhenzuile兩個信息提交給Servlet處理?!纠?-4】編寫JSP頁面login.jsp,在該頁面中通過表單向urlPatterns為“{"/loginServlet"}”的Servlet(由LoginServlet類負(fù)責(zé)創(chuàng)建)提交用戶名和密碼,Servlet負(fù)責(zé)判斷輸入的用戶名和密碼是否正確,并把判斷結(jié)果返回?!禞avaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄6.1Servlet類與Servlet對象6.2Servlet對象的創(chuàng)建與運行6.3Servlet的生命周期6.4通過JSP頁面訪問Servlet6.5doGet()和doPost()方法6.6重定向與轉(zhuǎn)發(fā)6.7在JavaServlet中使用session6.8基于Servlet的MVC模式《JavaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.5doGet()和doPost()方法當(dāng)服務(wù)器接收到一個Servlet請求時,就會產(chǎn)生一個新線程,在這個線程中讓Servlet對象調(diào)用service()方法為請求作出響應(yīng)。service()方法首先檢查HTTP請求類型(get或post),并在service()方法中根據(jù)用戶的請求方式,對應(yīng)地再調(diào)用doGet()或doPost()方法。HTTP請求類型為get方式時,service()方法調(diào)用doGet()方法響應(yīng)用戶請求;HTTP請求類型為post方式時,service()方法調(diào)用doPost()方法響應(yīng)用戶請求。因此,在Servlet類中,沒有必要重寫service()方法,直接繼承即可。在Servlet類中重寫doGet()或doPost()方法來響應(yīng)用戶的請求,這樣可以增加響應(yīng)的靈活性,同時減輕服務(wù)器的負(fù)擔(dān)?!禞avaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.5doGet()和doPost()方法【例6-5】編寫JSP頁面inputLader.jsp,在該頁面中使用表單向urlPatterns為“{"/getLengthOrAreaServlet"}”的Servlet提交矩形的長與寬。Servlet(由GetLengthOrAreaServlet負(fù)責(zé)創(chuàng)建)處理手段依賴表單提交數(shù)據(jù)的方式,當(dāng)提交方式為get時,Servlet計算矩形的周長,當(dāng)提交方式為post時,Servlet計算矩形的面積?!禞avaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄6.1Servlet類與Servlet對象6.2Servlet對象的創(chuàng)建與運行6.3Servlet的生命周期6.4通過JSP頁面訪問Servlet6.5doGet()和doPost()方法6.6重定向與轉(zhuǎn)發(fā)6.7在JavaServlet中使用session6.8基于Servlet的MVC模式《JavaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.6重定向與轉(zhuǎn)發(fā)重定向是將用戶從當(dāng)前JSP頁面或Servlet定向到另一個JSP頁面或Servlet,以前的request中存放的信息全部失效,并進(jìn)入一個新的request作用域;轉(zhuǎn)發(fā)是將用戶對當(dāng)前JSP頁面或Servlet的請求轉(zhuǎn)發(fā)給另一個JSP頁面或Servlet,以前的request中存放的信息不會失效?!禞avaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.6.1重定向在Servlet中通過調(diào)用HttpServletResponse類中的方法sendRedirect(String
location)來實現(xiàn)重定向,重定向的目標(biāo)頁面或Servlet(由參數(shù)location指定),無法從以前的request對象中獲取用戶提交的數(shù)據(jù)。《JavaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.6.2轉(zhuǎn)發(fā)jakarta.servlet.RequestDispatcher對象可以將用戶對當(dāng)前JSP頁面或Servlet的請求轉(zhuǎn)發(fā)給另一個JSP頁面或Servlet。實現(xiàn)轉(zhuǎn)發(fā)需要兩個步驟:1.獲得RequestDispatcher對象在當(dāng)前JSP頁面或Servlet中,使用request對象調(diào)用publicRequestDispatchergetRequestDispatcher(Stringurl)方法返回一個RequestDispatcher對象,其中參數(shù)url就是要轉(zhuǎn)發(fā)的JSP頁面或Servlet的地址,例如:
RequestDispatcher
dis=request.getRequestDispatcher("dologin");2.RequestDispatcher對象調(diào)用forward()方法實現(xiàn)轉(zhuǎn)發(fā)獲得RequestDispatcher對象之后,就可以使用該對象調(diào)用publicvoidforward(ServletRequestrequest,ServletResponseresponse)方法將用戶對當(dāng)前JSP頁面或Servlet的請求轉(zhuǎn)發(fā)給RequestDispatcher對象所指定的JSP頁面或Servlet。例如:
dis.forward(request,response);《JavaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
重定向與轉(zhuǎn)發(fā)示例【例6-6】編寫JSP頁面redirectForward.jsp,在該JSP頁面中通過表單向urlPatterns為“{"/redirectForwardServlet"}”的Servlet(由RedirectForwardServlet負(fù)責(zé)創(chuàng)建)提交用戶名和密碼。如果用戶輸入的數(shù)據(jù)不完整,redirectForwardServlet將用戶重定向到redirectForward.jsp頁面;如果用戶輸入的數(shù)據(jù)完整,redirectForwardServlet將用戶對redirectForward.jsp頁面的請求轉(zhuǎn)發(fā)給urlPatterns為“{"/showServlet"}”的Servlet(由ShowServlet負(fù)責(zé)創(chuàng)建),showServlet顯示用戶輸入的信息?!禞avaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.6.3實踐環(huán)節(jié)——登錄驗證編寫登錄頁面login_1.jsp,在該JSP頁面中通過表單向urlPatterns為“{"/loginServlet_1"}”的Servlet(由LoginServlet_1類負(fù)責(zé)創(chuàng)建)提交用戶名和密碼。如果用戶輸入的數(shù)據(jù)不完整,loginServlet_1將用戶重定向到login_1.jsp頁面;如果用戶輸入的數(shù)據(jù)完整并正確(用戶名“zhangsan”,密碼“123”),loginServlet_1將用戶的請求轉(zhuǎn)發(fā)給loginSuccess_1.jsp頁面,loginSuccess_1.jsp頁面顯示用戶輸入的信息?!禞avaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄6.1Servlet類與Servlet對象6.2Servlet對象的創(chuàng)建與運行6.3Servlet的生命周期6.4通過JSP頁面訪問Servlet6.5doGet()和doPost()方法6.6重定向與轉(zhuǎn)發(fā)6.7在JavaServlet中使用session6.8基于Servlet的MVC模式《JavaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.7在JavaServlet中使用session在Servlet中獲得當(dāng)前請求的會話對象可通過調(diào)用HttpServletRequest的getSession()方法實現(xiàn),例如:HttpSession
session
=request.getSession(true);//若存在會話則返回該會話,否則新建一個會話?;騂ttpSessionsession=request.getSession(false);//若存在會話則返回該會話,否則返回null。經(jīng)常情況下,通過第一種方式獲得session,即指定getSession()的參數(shù)為true。缺省參數(shù)為true,即request.getSession(true)等同于request.getSession()。【例6-7】編寫JSP頁面useSession.jsp,在該頁面中通過表單向名為useSession的Servlet對象(由UseSessionServlet類負(fù)責(zé)創(chuàng)建)提交用戶名,useSession將用戶名存入用戶的session對象中,然后用戶請求另一個Servlet對象showName(由ShowNameServlet類負(fù)責(zé)創(chuàng)建),showName從用戶的session對象中取出存儲的用戶名,并顯示在瀏覽器中?!禞avaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄6.1Servlet類與Servlet對象6.2Servlet對象的創(chuàng)建與運行6.3Servlet的生命周期6.4通過JSP頁面訪問Servlet6.5doGet()和doPost()方法6.6重定向與轉(zhuǎn)發(fā)6.7在JavaServlet中使用session6.8基于Servlet的MVC模式《JavaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.8.1MVC模式MVC是Model、View、Controller的縮寫,分別代表Web應(yīng)用程序中的三種職責(zé): 模型——用于存儲數(shù)據(jù)以及處理用戶請求的業(yè)務(wù)邏輯。 視圖——向控制器提交數(shù)據(jù),顯示模型中的數(shù)據(jù)。 控制器——根據(jù)視圖提出的請求,判斷將請求和數(shù)據(jù)交給哪個模型處理,處理后的有關(guān)結(jié)果交給哪個視圖更新顯示?!禞avaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
2.基于Servlet的MVC模式基于Servlet的MVC模式的具體實現(xiàn)如下: 模型:一個或多個JavaBean對象,用于存儲數(shù)據(jù)(實體模型,由JavaBean類創(chuàng)建)和處理業(yè)務(wù)邏輯(業(yè)務(wù)模型,由一般的Java類創(chuàng)建)。 視圖:一個或多個JSP頁面,向控制器提交數(shù)據(jù)和為模型提供數(shù)據(jù)顯示,JSP頁面主要使用HTML標(biāo)記和JavaBean標(biāo)記來顯示數(shù)據(jù)。 控制器:一個或多個Servlet對象,根據(jù)視圖提交的請求進(jìn)行控制,即將請求轉(zhuǎn)發(fā)給處理業(yè)務(wù)邏輯的JavaBean,并將處理結(jié)果存放到實體模型JavaBean中,輸出給視圖顯示。瀏覽器Web服務(wù)器HTMLJSP(視圖)Servlet(控制器)JavaBean(模型)數(shù)據(jù)庫請求響應(yīng)請求顯示數(shù)據(jù)存儲數(shù)據(jù)處理數(shù)據(jù)圖6.7JSP中的MVC模式《JavaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.8.2使用JSP、Servlet、JavaBean實現(xiàn)MVC【例6-8】使用MVC模式實現(xiàn)簡單的用戶登錄驗證程序,其中包括實體模型User、業(yè)務(wù)模型UserCheck、控制器LoginCheckServlet和兩個視圖頁面,即登錄頁面和登錄成功頁面?!禞avaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.8.3模型周期在基于Servlet的MVC模式中,控制器Servlet創(chuàng)建的實體模型JavaBean也涉及到生命周期,生命周期分別為request、session和application。《JavaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
request周期的模型(1)創(chuàng)建模型并把數(shù)據(jù)保存到模型中Useruser=newUser();//實例化模型useruser.setName(name);//把數(shù)據(jù)存在模型user中user.setPwd(pwd);//把數(shù)據(jù)存在模型user中(2)將模型保存到request對象中并轉(zhuǎn)發(fā)給視圖JSPrequest.setAttribute("user",user);//把裝有數(shù)據(jù)的模型user輸出給視圖loginSuccess.jsp頁面RequestDispatcherdis=request.getRequestDispatcher("loginSuccess.jsp");dis.forward(request,response);(3)視圖更新<jsp:useBeanid="user"type="dto.User"scope="request"/><jsp:getPropertyproperty="name"name="user"/>《JavaWeb開發(fā)從入門到實戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
session周期的模型(1)創(chuàng)建模型并把數(shù)據(jù)保存到模型中Useruser=newUser();//實例化模型useruser.setName(name);//把數(shù)據(jù)存在模型user中user.setPwd(pwd);//把數(shù)據(jù)存在模型user中(2)將模型保存到session對象中并轉(zhuǎn)發(fā)給視圖JSPsession.setAttribute("user",user);//把裝有數(shù)據(jù)的模型user輸出給視圖loginSuccess.jsp頁面RequestDispatcherdis=request.getR
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版滅火器經(jīng)銷商招募與培訓(xùn)合同3篇
- 2025年度冷鏈?zhǔn)称飞a(chǎn)項目1#車間能源管理服務(wù)合同4篇
- 2025年度土地經(jīng)營權(quán)流轉(zhuǎn)合同范本
- 二零二五年度城市更新項目安置房租賃合同范本3篇
- 2025年陽臺封閉工程節(jié)能環(huán)保材料供應(yīng)合同2篇
- 二零二五年度在線教育平臺股權(quán)出售合同4篇
- 二零二五版農(nóng)業(yè)機(jī)械租賃與供應(yīng)鏈管理合同4篇
- 二零二五年度電視劇特效制作與采購合同4篇
- 二零二四年度醫(yī)院保潔人員綠化養(yǎng)護(hù)與病蟲害防治合同3篇
- 二零二五年度智能交通系統(tǒng)承包商款項安全保障合同4篇
- 無人化農(nóng)場項目可行性研究報告
- 《如何存款最合算》課件
- 社區(qū)團(tuán)支部工作計劃
- 拖欠工程款上訪信范文
- 2024屆上海市金山區(qū)高三下學(xué)期二模英語試題(原卷版)
- 學(xué)生春節(jié)安全教育
- 《wifi協(xié)議文庫》課件
- 《好東西》:女作者電影的話語建構(gòu)與烏托邦想象
- 教培行業(yè)研究系列(七):出國考培的再研究供需變化的新趨勢
- GB/T 44895-2024市場和社會調(diào)查調(diào)查問卷編制指南
- 高三日語一輪復(fù)習(xí)助詞「で」的用法課件
評論
0/150
提交評論