版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
day10requestresponse都是新的一樣!就是把與當(dāng)前請求相關(guān)的數(shù)對于我們來說,TomcatrequestresponserequestresponseHttpServletRequestHttpServletRequestHttpServletRequestJavaWebServletservice()方法的參數(shù)之一!requestGETrequestMaprequestrequestStringvaluerequest.getHeader(“請求頭名稱requestTomcatrequest中去的。service()方法中可以直接來獲??!requestStringgetHeader(Stringname)intgetIntHeader(Stringname)intEnumerationnames=while(names.hasMoreElements())Stringname=(String)names.nex Stringvalue=request.getHeader(name);System.out.println(name+":"+value);response.getWriter().println(name+":"+value+}URL相關(guān)的方法。intgetContentLength():獲取請求正文的字節(jié)數(shù),GET請求沒有正文,沒有正文返回-POSTapplication/x-www-form-urlencoded(理解為字符串類型,其它類這個(gè)東西在中很有用;StringgetCharacterEncoding()setCharacterEncoding(),那么返回nullISO-8859-1編碼;voidsetCharacterEncoding(Stringcode):設(shè)置請求編碼,只對正文GET而POST請求中的參數(shù)有效! StringgetQueryString()URLStringgetRequestURI():返回請求URI路徑,例如 StringBuffergetRequestURL():返回請求URL路徑,例如:,StringgetServletPath()ServletStringgetRemoteAddr()IPStringgetRemoteHost()IPStringgetSchema()System.out.println("request.getContentLength():"+request.getContentLength());System.out.println("request.getContentType():"+request.getContentType());System.out.println("request.getContextPath():"+request.getContextPath());System.out.println("request.getMethod():"+request.getMethod());System.out.println("request.getLocale():"+request.getLocale());System.out.println("request.getQueryString():"+request.getQueryString());System.out.println("request.getRequestURI():"+request.getRequestURI());System.out.println("request.getRequestURL():"+request.getRequestURL());System.out.println("request.getServletPath():"+request.getServletPath());System.out.println("request.getRemoteAddr():"+request.getRemoteAddr());System.out.println("request.getRemoteHost():"+request.getRemoteHost());System.out.println("request.getRemotePort():"+request.getRemotePort());System.out.println("request.getScheme():"+request.getScheme());System.out.println("request.getServerName():"+request.getServerName());System.out.println("request.getServerPort():"+request.getServerPort());Stringip=request.getRemoteAddr();if(ip.equals("")){response.sendError(500,"Stringip=request.getRemoteAddr();if(ip.equals("")){response.sendError(500,"您的IP已 }else }HttpServletRequestHttpServletRequestname時(shí);MapgetParameterMap()Mapkey為參數(shù)名,value傳遞參數(shù)的方式:GETPOST。地址欄中直接給出參數(shù):超中給出參數(shù):<ahref=”表單中給出參數(shù):<formmethod=”GET表單中給出參數(shù):<formmethod=”POSTGETPOST,獲取參數(shù)的方法是相同的。Strings1=request.getParameter(“p1”);//v1Strings2=request.getParameter(“p2”);//v2<formaction="ParamServlet"<inputtype="text"<inputtype="text"<inputtype="submitvalue="提交<aStrings1=request.getParameter("p1");Strings2=response.getWriter().print("p1="+s1+response.getWriter().print("p2="+s2+Enumerationnames=while(names.hasMoreElements())Stringname=(String)names.nexement();Stringvalue=request.getParameter(name);System.out.println(name+"="+value);}<formaction="ParamServlet"上網(wǎng):<inputtype="checkbox"name="hobby"value="net y"/><br/><formaction="ParamServlet"上網(wǎng):<inputtype="checkbox"name="hobby"value="net y"/><br/>踢球:<inputtype="checkbox"name="hobby"value="football"/><br/>看書:<inputtype="checkbox"name="hobby"value="read"/><br/>編程:<inputtype="checkboxname="hobbyvalue="programme<inputtype="submitvalue="提交獲取所有名為hobyString[]hobbies=<formaction="ParamServlet"method="post">:<inputtype="text"name="name"/><br/>:<inputtype=<formaction="ParamServlet"method="post">:<inputtype="text"name="name"/><br/>:<inputtype="text"name="age"/><br/>:<inputtype="text"name=" <inputtype="submitvalue="提交Map<String,String[]>map=request.getParameterMap();Set<String>keys=map.keySet();for(Stringkey:keys)String[]value=map.get(key);System.out.println(key+"="+value[0]);}=name=zhangSanage=23request.getParameterValues(String)方法來獲取參String[]0的元素。Stringname=HttpServletRequestHttpServletRequestMapServletHttpSession:范圍是會(huì)話,在同一會(huì)話中傳遞屬性。當(dāng)某個(gè)用戶打開某一的第一個(gè)頁面開始,直到關(guān)閉該的所有頁面結(jié)束,這是一個(gè)會(huì)話范圍;HttpServletRequest的傳遞屬性功能。超中傳遞過來,然后由Tomcat封裝到request中的。說白一點(diǎn),attribute是在服務(wù)器端組件中parameter是由客戶端間接設(shè)置的。ServletStringname=request.getParameter("name");request.setAttribute("name",name);StringaName=Servlet在完成了驗(yàn)證之后會(huì)把請求轉(zhuǎn)發(fā)給顯示主頁的publicclassAServletextendsHttpServletprotectedvoiddoPost(HttpServletRequestreq,HttpServletResponsethrowsServletExceptionIOExceptionServletbServlet=newBServlet();bServlet.service(req,resp);}}publicclassBServletextendsHttpServletprotectedvoiddoPost(HttpServletRequestreq,HttpServletResponsethrowsServletExceptionIOException}}BServlet,但這種方法的問題就太多太多了。AServletBServletBServletAServletTomcatServletAServletBServletAServletservletName(name>BServletrequest.getAttribute()方法獲取了。AServletRequestDispatcherrd=RequestDispatcherrequestgetRequestDispatcher()方request和response兩個(gè)參數(shù)。AServlet= try ,}catch ceptione)thrownew}catch(InvocationTargetExceptione)thrownew} RequestDispatcherrd=request.getRequestDispatcher("/BServlet");rd.forward(request,response);BServlet=( response.getWriter().print("BServlet:"+ +"<br/>");System.out.println("BServlet:" 請求包含與請求轉(zhuǎn)發(fā)非常相似,區(qū)別在與轉(zhuǎn)發(fā)時(shí)AServletBServletAServletRequestDispatcherinclude()方法。請求包含基本上與轉(zhuǎn)發(fā)是相同的,AServletAServlet= try ,}catch ceptione)thrownew}catch(InvocationTargetExceptione)thrownew}PrintWriterout=//轉(zhuǎn)發(fā)之前的響應(yīng),不會(huì)被發(fā)送到客戶端瀏覽器上去。out.println("AServlet:"+ RequestDispatcherrd=rd.include(request,=( PrintWriterout=response.getWriter();out.print("BServlet:"+ +"<br/>");System.out.println("BServlet:" [name=zhangSan,age=23, [name=zhangSan, Servletservice()方法完成的,而客戶端只request和response是生死相依的一對,也不分離。request是請求對象,而HttpServletResponseresponse”,“重定向:重定向(302!sendediect(“pth”);contentTypetext/htmlISO-8859-1編碼。”,“HTTP刷新(定時(shí)重定向 服務(wù)器→客戶端(JSPServlet(GET:在獲取參數(shù)Strings=s=newString(s.getBytes(“iso-8859-1”),“utf-Strings=byte[]bytes=s.getBytes(“ISO-8859-1”);s=newString(bytes,“utf-8”);POSTGETUTF-8編碼。contentType中給定的編碼來顯示頁面!POSTPOSTPOSTPOST參數(shù)編碼就是就是請求正文的編碼。getParameter()POSTISO-8859-1編碼。Stringname=name=newString(name.getBytes("ISO-8859-1"),"UTF-8");ISO-8859-1ISO-8859-1獲取字節(jié)數(shù)組,然后再UTF-8編碼得到字符串,這樣就沒問題了。Stringname=POST參數(shù)。GETGET參數(shù)的編碼。GET參數(shù)編碼可以有兩種方式:第一種是設(shè)置<Connector>URIEncodingUTF-8GET參數(shù)編碼的方式是不可取的。那么另式就是自己來把編碼還原了。這種方式也是我們今后處理的方式Stringname=name=newString(name.getBytes("ISO-8859-1"),"UTF-8");GBK編碼的。URLGBKServlet真是不知道使用什么編碼注意,這里說的是地址欄中直接輸入U(xiǎn)RL,而不是點(diǎn)擊超。因?yàn)槌械腢RL是受頁面 的IE6對UTF-8不友IE6UTF-8不是很友好!它會(huì)把兩個(gè)字節(jié)當(dāng)成一個(gè)中文來處理,當(dāng)字節(jié)數(shù)為奇數(shù)時(shí),那么就最GETUTF-89個(gè)字節(jié),UTF-839個(gè)字節(jié)。IE62個(gè)字節(jié)是一個(gè)漢字,那么最后一個(gè)字節(jié)不會(huì)發(fā)送到服務(wù)器端,IE6 JavaScript對超做URL編IE6也就不會(huì)丟失字節(jié)了。<a<scriptfunction_go()location.hrefencodeURI("EncodingServlet?name=大家好}URL編碼后,大家好已經(jīng)變成了%E5%A4%A7%E5%AE%B6%E5%A5%BD。這樣就不會(huì)再丟 在我們時(shí),如果沒有的話,我們可以使用URLConnection來寫一段代碼發(fā)出請while(true)來測試!那么服務(wù)器就廢了!但分析也不是一件容易的事,因?yàn)橐话愣紩?huì)帶有干擾線,人都看不清,那么程序一Java生成BufferedImageimage=newBufferedImage(60,30,BufferedImage.TYPE_INT_RGB);Graphicsg=image.getGraphics();Strings=" g.drawString(s,0,30);FileOutputStreamout=newImageIO.write(image,"JPEG",已經(jīng)可以畫了! 的內(nèi)容是隨機(jī)的,通常在26個(gè)字母(包含大小寫)和數(shù)據(jù)(0~9每個(gè)字符的顏色是隨機(jī)的(這個(gè)還真有點(diǎn)難,萬一顏色與背景相同呢?;每個(gè)字符的字體是隨機(jī)的(需要給出枚舉列表每個(gè)字符的字號是隨機(jī)的(需要給出大小的范圍,不能小到看不見吧每個(gè)字符的樣式是隨機(jī)的(4種這個(gè)類會(huì)創(chuàng)建70*35的背景色為(240240,240)可以隨機(jī)生成字號,大小也在范圍之內(nèi),例如(24~27)之間;publicclassVerifyCode{privateintw=70;privateinth=35;privateRandomr=newprivateString[fontNames宋體華文楷體黑體華文新魏華文隸書","微軟雅黑","楷體_GB2312"};privateStringcodes privateColorbgColor=newColor(240,240,privateStringprivateColorrandomColor()return}privateFontrandomFont()return}privatevoiddrawLine(BufferedImageimage)}privatecharrandomChar()return}privateBufferedImagecreateImage()return}publicBufferedImagegetImage(){BufferedImageimage=createImage();Graphics2Dg2=(Graphics2D)image.getGraphics();StringBuildersb=newStringBuilder();//向中畫4個(gè)字for(inti=0;i<4;i++){Strings=randomChar()+"";floatx=i*1.0F*w/4;g2.drawString(s,x,h);}this.text=sb.toString();return}publicStringgetText()return}}privateBufferedImagecreateImage()privateBufferedImagecreateImage()Graphics2Dg2=(Graphics2D)image.getGraphics();g2.fillRect(0,0,w,return}privateColorrandomColor(){intred=r.nextInt(256);intgreenprivateColorrandomColor(){intred=r.nextInt(256);intgreen=r.nextInt(256);intblue=r.nextInt(256);returnnewColor(red,green,}}privateFontrandomFont()privateFontrandomFont()intindex=r.nextInt(fontNames.length);StringfontName=fontNames[index];intstyle=intsize=r.nextInt(5)+returnnewFont(fontName,style,}privatecharrandomChar()privatecharrandomChar()intindex=return}privatevoiddrawLine(BufferedImageimage)privatevoiddrawLine(BufferedImageimage)intnum=Graphics2Dg2=for(inti=0;i<num;i++)intx1=r.nextInt(w);inty1=r.nextInt(h);intx2=r.nextInt(w);inty2=g2.setStroke(newBasicStroke(1.5F));g2.drawLine(x1,y1,x2,y2);}}最后再給本類添加一個(gè)靜態(tài)輸出方法,即把生成的保存到指定輸出流中publicstaticvoidoutput(BufferedImageimage,OutputStreamthrowsIOException{ImageIO.write(image,"JPEG",out);}VerifyCodevc=new其實(shí)這個(gè)東西很簡單,因?yàn)槲覀円呀?jīng)可以生成了,只是使用VerifyCodevc=newBufferedImageimage=VerifyCode.output(image,讓<img>src<formaction=""用戶名:<inputtype="text:<inputtype="text"<img<inputtype="submitvalue="提交當(dāng)用戶看不清時(shí),需要換一張JavaScript<formaction=""用戶名:<inputtype="text:<inputtype="text"<imgid="verifyCode"<inputtype="submitvalue="提交<scriptfunction_chage()varimgEle=.geementById("verifyCode");imgEle.src="VerifyCodeServlet";}IE8IE8VerifyCodeServlet<scriptfunction_chage()varimgEle=.geementById("verifyCode");imgEle.src="VerifyCodeServlet?"+newDate().getTime();}IE<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01<!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"WEB-INF我們知道JavaWeb項(xiàng)目的結(jié)構(gòu)中存在WEB-INFWEB-INF是客戶端不可的。所以我們可以把一些與配置相關(guān)的,不想讓客戶端瀏覽器直接的東西放到這個(gè)中。說白一點(diǎn),用戶Servlet,Servlet再去WEB-INF下的東西。 下必須要有的就是項(xiàng)目的部署描述符文件:web.xmlTomcat在啟動(dòng)進(jìn)行匹配來鎖定Servlet!web.xml客戶端不能,它是給Tomcat使用的。WEB-INF下可以有l(wèi)ibclasses。libjarclassesclassServletclass。jsps------------------------可以自己隨意創(chuàng) 下客戶端就可以 b.jsp--------------------客戶端不能直接,但可以通過Servlet間接方法 Jar classindex.jsp客戶端可以,這說明你的上下文中存在jspsjsps下存a.jsp文件。我們已經(jīng)測試過了,沒有問題!的class文件路徑么:..MyServlet.class?呵呵~,這ServletServletweb.xmlServlet通配符就是“**.xxx格式:*.do、*.action、如果通配符后面有擴(kuò)展名,那么通配符前面就不能有限定路徑。例如:*do、*.action、設(shè)當(dāng)前上下文為:<url-<url-pattern>/<url-pattern>匹配默認(rèn)!即用戶了不存在的路徑時(shí),那么就匹配這個(gè)路徑。例如用戶的URL為:,但是在當(dāng)前項(xiàng)目的web.xml文件中,沒有任何<url-pattern>能夠匹配/o/world這個(gè)路徑,那么就由<url-pattern>/</url-pattern>來匹配Servlet。 在%CATALINA_HOME%\conf\web.xml文件中,TomcatServlet的配置、sessionNMIME 當(dāng)用戶了不存在的URL,那么就會(huì)執(zhí)行DefaultServlet的service()方法。如果用戶了或jspx文件時(shí),那么就會(huì)JspServletServletServletServlet,不會(huì)再去創(chuàng)建了??赡苣銜?huì)想,ServletServletpublic但是,ServletTomcat來全全負(fù)責(zé)。Servlet的創(chuàng)建,Tomcat來完成。ServletTomcatTomcat服務(wù)器發(fā)出請求,Tomcat會(huì)為!Servlet只會(huì)有一個(gè)實(shí)例對象,所以就會(huì)出現(xiàn)線程安全問題。能為局部變量,就不要為屬synchronized局部變量不會(huì)被多個(gè)線程共享,所以可以為局部變量就一定不要為屬性publicclassMyServletextendsHttpServletpublicvoiddoPost(HttpServletRequestreq,HttpServletResponseres){Aa=newA();}}publicclassMyServletextendsHttpServletprivateAa=newpublicvoiddoPost(HttpServletRequestreq,HttpServletResponseres){}}doPost()Aa=newA()語句,也就是說,每次調(diào)用都會(huì)使用新的a對象;如果把A為屬性,那么privateAa=newA()就是顯示初始化語句了,顯示初始化語句只a.fun()a對象。responsePrintWritergetWriter():獲取響應(yīng)字符流,用來向客戶端響應(yīng)二進(jìn)制數(shù)據(jù),例如HTML代碼。PrintWriterpw==OutputStreamout==response的mited()方法返回的就是trueresponseresponse的mited()trueresponse已經(jīng)response.getWirter().flush()response.flushBuffer()相同的效果。response的mited()true,這說明服務(wù)器已經(jīng)至少把狀態(tài)碼、響應(yīng)頭等數(shù)據(jù)PrintWriterout=response.getWriter();System.out.println("over");//可以在這里添加斷點(diǎn),進(jìn)試。但只有FireFox可示的。例如IE8和瀏覽器就是這樣,但FireFox會(huì)馬上顯示數(shù)據(jù)!IE816KB16KBIE8for(inti=0;i<1024*16+1;i++){}System.out.println("over!");//可以在本行添加斷點(diǎn),進(jìn)重定向與請求轉(zhuǎn)發(fā)很相似,但有本質(zhì)上的區(qū)別。請求轉(zhuǎn)發(fā)需要使用RequestDispatcher類的//throwsServletException,IOException{}//throwsServletException,IOException{PrintWriterout=response.getWriter(); }BServlet。當(dāng)響應(yīng)狀態(tài)碼為302時(shí),響應(yīng)頭信息中需要還有一個(gè)響應(yīng)頭信息,這個(gè)頭信為Location。你也許已經(jīng)留意到了,瀏覽器的地址欄中顯示的不在是AServlet,而是BServlet。你可以嘗試去但最終瀏覽器地址欄中顯示的是htt AServletrequest.setAttribute()BServlet中是了你(302Location響應(yīng)頭,你再去新地址找我(第二個(gè)請求,我把錢借第二個(gè)響應(yīng),200request在兩個(gè)請求中(requestresponse對象!POSTdoGet()方法。requestBServletAServletBServletGET請求(因?yàn)橹挥幸粋€(gè)請求BServletdoGet()方法;如果客戶端一開始BServletdoPost()方法。servlet的哪個(gè)方法;重定向:可以跳轉(zhuǎn)到;請求轉(zhuǎn)發(fā):只能在當(dāng)前上下文內(nèi)容跳轉(zhuǎn)(AServlet)中就不要使用response去響應(yīng) AServlet中做了響應(yīng)(response.getWriter().println(“o”),然后跳轉(zhuǎn)(重定向或請求轉(zhuǎn)發(fā))BServletAServlet中做的響應(yīng)(。因?yàn)樵谔D(zhuǎn)(重定向或請求轉(zhuǎn)發(fā))時(shí),Tomcatresponse無論是如果跳轉(zhuǎn),都會(huì)調(diào)用response.reset()方法。該方把響應(yīng)流緩沖區(qū)中的數(shù)據(jù)清空!所BServlet時(shí),在AServlet中所做的響應(yīng)動(dòng)作會(huì)被清空!reset()方先調(diào)用 mitted()返回true。 mitted()就返回true。 如果已經(jīng)響應(yīng)過了,那么就會(huì)拋出異常。所以,AServlet中做響應(yīng)的動(dòng)作! 絕對路徑就是以http開頭,例如:,這就是絕對路徑。但這并不WebRootWebRoot/aa在1.html和2.html分別通過超相對路徑,根據(jù)當(dāng)前資源路徑與目標(biāo)資源路徑,尋找相對位置關(guān)系,通過.(當(dāng)前 )和..(上 )目標(biāo)資源html當(dāng)前路徑目標(biāo)路徑位于同一 中 o =====替換當(dāng)前路徑最后一個(gè)資html當(dāng)前路徑目標(biāo)路徑上一 中 o=====替換上一 資*****2帶有協(xié)議完整路徑(跨以/開始路徑(同一個(gè)站點(diǎn)內(nèi)): 服務(wù)器端和客戶端對于/的區(qū)別客戶端路徑:/day5/ 結(jié)論:web中所有資源路徑,都使用絕對路ServletContext初始化參數(shù):web.xml中的數(shù)據(jù)JavaWebrequestsession是一個(gè)會(huì)話一個(gè),所謂會(huì)話是一個(gè)用戶打開當(dāng)前項(xiàng)目的第一個(gè)頁面開始,直到關(guān)閉當(dāng)前session也不能存放多用戶共享數(shù)據(jù)。applicationTomcatTomcat會(huì)話范圍:一個(gè)用戶對服務(wù)器的一次過程,在整個(gè)會(huì)話過程中共享數(shù)據(jù)。只要是一個(gè)會(huì)話session。ServletContext就去了!config對象呢?Servletinit()方法(生命周期方法)configGenericServlet#getServletContext():GenericServletServletHttpServletgetServletContext()ServletGenericServlet的子getServletContext()ServletContext對象!ServletGenericServletServletContext對象時(shí)都是getServletContext()config對象來獲??!GenericServletgetServletContext()config對象得ServletContextServletConfig#getServletContext()。 classGenericServletimplementsServlet,ServletConfig,java.io.Serializable{privatetransientServletConfigpublicvoidinit(ServletConfigconfig)throwsServletExceptionthis.config=}publicvoidinit()throwsServletExceptionpublicServletConfiggetServletConfig()return}publicStringgetInitParameter(Stringname)return}publicEnumerationgetInitParameterNames()return}publicServletContextgetServletContext()return} voidservice(ServletRequestreq,ServletResponsethrowsServletException,}初始化參數(shù):web.xml中的數(shù)據(jù) 回憶一下,在<servlet>中可以配置<init-param>子元素,<init-param>有兩個(gè)子元素,分別是<param-name>和<param-value>。<init-param>元素用來配置當(dāng)前Servlet的初始化參數(shù),可以使用ServletConfigGenericServletgetInitParameter()方法,所以也可以直接使用web.xml文件中還可以配置<context-param>元素,它的子元素與<init-param> publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOExceptionStringipv=this.getInitParameter("init-param-name");ServletContextapplication=Stringcpv=application.getInitParameter("context-param-name");}RequestDispatchergetRequestDispatcher(Stringpath):與request對象的這個(gè)方能相同,ServletContext的這個(gè)方法的參數(shù)必須以“/”開頭。publicvoiddoPost(HttpServletRequestrequest,HttpServle
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年茶葉收購與倉儲管理合同2篇
- 水電安裝工程2025年度合同書協(xié)議2篇
- 二零二五版快遞物流服務(wù)質(zhì)量監(jiān)控與評估協(xié)議合同2篇
- 二零二五年電子供應(yīng)鏈采購合同3篇
- 二零二五年度校園巴士運(yùn)營管理合同范本3篇
- 二零二五年高端餐飲會(huì)所租賃承包合同范本3篇
- 2025年危險(xiǎn)品運(yùn)輸及應(yīng)急處理合同3篇
- 二零二五版物流倉儲與新能源利用合同3篇
- 小學(xué)教師事業(yè)單位聘用合同(2篇)
- 二零二五年度綠色交通PPP特許經(jīng)營權(quán)轉(zhuǎn)讓合同3篇
- 2024年云南省中考數(shù)學(xué)試題含答案解析
- 《火災(zāi)調(diào)查 第2版》 課件全套 劉玲 第1-12章 緒論、詢問 -火災(zāi)物證鑒定
- 汽車修理廠管理方案
- 借用他人名義買車協(xié)議完整版
- (正式版)JBT 5300-2024 工業(yè)用閥門材料 選用指南
- 校園超市經(jīng)營投標(biāo)方案(技術(shù)方案)
- 基于Web服務(wù)的辦公系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)的開題報(bào)告
- 國企工程類工作總結(jié)
- 電腦教室設(shè)計(jì)方案
- 計(jì)算機(jī)江蘇對口單招文化綜合理論試卷
- 高速公路環(huán)保水保方案
評論
0/150
提交評論