




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
學習目標熟悉Socket通信內容以及SpringMVC文件的上傳與下載掌握單次登錄的實現步驟了解物料訂單管理系統中主界面打印的業務需求實現物料訂單管理系統中主界面打印的功能情景導入文件上傳與下載文件上傳SpringMVC框架為文件上傳提供了良好的支持。SpringMVC的文件上傳是通過MultipartResolver(Multipart解析器)處理的。在實現過程中需要導入相應的jar包,并在XML文件和JSP頁面中進行配置。文件上傳與下載文件上傳1.導入需要的jar包SpringMVC為文件上傳提供了直接的支持,即實現了MultipartResolver的實現類CommonsMultipartResolver。jar包意義commons-io-2.0.1.jar文件上傳依賴的IO包commons-fileupload-1.2.2.jar文件上傳的jar包文件上傳與下載文件上傳2.編寫文件上傳JSP頁面單文件上傳:<formaction="fileup.do"method="post"enctype="multipart/form-data">
文件:<inputtype="file"name="fileup"/><br/> <inputtype="submit"value="上傳"/></form>多文件上傳:<formaction="filesup.do"method="post"enctype="multipart/form-data">
文件:<inputtype="file"name="files"/><br/>
文件:<inputtype="file"name="files"/><br/>
文件:<inputtype="file"name="files"/><br/> <inputtype="submit"value="上傳"/></form>文件上傳與下載文件上傳3.SpringMVC配置文件<!--需要在SpringMVC的配置文件中配置上傳文件的支持--><beanid="multipartResolver" class="mons.CommonsMultipartResolver"> <!--設置編碼格式--><propertyname="defaultEncoding"value="utf-8"/> <!--臨時內存最大值設置--> <propertyname="maxInMemorySize"value="10240"/> <!--最大文件大小,-1為不限制大小--> <propertyname="maxUploadSize"value="-1"/></bean>文件上傳與下載文件上傳4.Controller控制器@ControllerpublicclassFileUpController{
@RequestMapping(value="index") publicStringindex(){ return"fileup"; }@RequestMapping(value="fileup.do") publicStringfileup(MultipartFilefileup,HttpServletRequestrequest)throwsException{ //獲取服務端路徑 Stringpathroot=request.getSession().getServletContext().getRealPath("/up"); //定義文件路徑 Stringpath=null; Filefile=null; //判斷是否有上傳文件 if(!fileup.isEmpty()){
文件上傳與下載文件上傳4.Controller控制器 //使用通用唯一識別碼UUID作為文件名 Stringprefix=UUID.randomUUID()+""; //獲取文件類型 StringcontentType=fileup.getContentType(); //獲取文件后綴 Stringsuffix=contentType.substring(contentType.indexOf("/")+1); //拼接路徑 path=pathroot+"\\"+prefix+"."+suffix; System.out.println(path); file=newFile(path); //判斷路徑是否存在,不存在就創建一個 if(!file.exists()){file.getParentFile().mkdirs();} //寫出文件 fileup.transferTo(file); return"success"; }else{return"error";}}文件上傳與下載文件下載導入所需要的jar包SpringMVC的文件下載與文件上傳一樣,都需要添加文件上傳的jar包和其所依賴的IO包。jar包意義commons-io-2.0.1.jar文件上傳依賴的IO包commons-fileupload-1.2.2.jar文件上傳的jar包文件上傳與下載文件下載2.編寫JSP頁面頁面中添加超鏈接標簽,顯示為“文件下載”,href屬性值的路徑中會攜帶文件的文件名,使用ApacheCommonsFileUpload組件下的FileUtils讀取到該文件,并將其構建成ResponseEntity對象返回客戶端下載。<body><ahref="${pageContext.request.contextPath}/download.do?test.jpg">文件下載</a></body>文件上傳與下載文件下載3.Controller控制層在JSP頁面的路徑中表明所要下載的文件名。點擊“文件下載”,然后根據路徑跳轉到對應的Controller層。@RequestMapping(value="download.do") publicResponseEntity<byte[]>download()throwsException{ Filefile=newFile("D:\\test.jpg"); //HTTP頭信息HttpHeadersheaders=newHttpHeaders();//設置下載文件名StringfileName=newString("測試下載.jpg".getBytes("UTF-8"),"iso-8859-1");/*解決中文名稱亂碼問題*/headers.setContentDispositionFormData("attachment",fileName);headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);/*MediaType:互聯網媒介類型contentType:具體請求中的媒體類型信息*/returnnewResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers,HttpStatus.CREATED); }單點登錄原理目前的Web系統中,一般都使用session存放登錄信息,為實現單點登錄,可將所有存儲登錄信息的session保存到同一個靜態變量中作為當前登錄用戶的在線列表,對于已經存在的登錄信息,在進行重新登錄時,需要把當前保存登錄信息的session銷毀,或者清空其登錄信息,將原始登錄的session從保存登錄信息的靜態變量中移除,完成踢出操作。單次登錄重要接口分析通過對session的監聽,可以在session保存用戶登錄信息的時候將此session保存到在線列表中,此處需要使用到HttpSessionAttributeListener接口和HttpSessionListener接口。publicinterfaceHttpSessionListenerextendsEventListener{voidsessionCreated(HttpSessionEventvar1);voidsessionDestroyed(HttpSessionEventvar1);}先來分析HttpSessionListener接口:HttpSessionListener接口中共有兩個方法:voidsessionCreated(HttpSessionEventvar1)在session創建時調用voidsessionDestroyed(HttpSessionEventvar1)在session銷毀時調用單點登錄重要接口分析
HttpSessionAttributeListener是監聽session屬性的接口。publicinterfaceHttpSessionAttributeListenerextendsEventListener{voidvar1);voidattributeReplaced(HtattributeAdded(HttpSessionBindingEventvar1);voidattributeRemoved(HttpSessionBindingEventtpSessionBindingEventvar1);}此接口中有三個方法:voidattributeAdded(HttpSessionBindingEventvar1)在向session中添加屬性時調用。voidattributeRemoved(HttpSessionBindingEventvar1)在移除session屬性時調用。voidattributeReplaced(HttpSessionBindingEventvar1)在替換session某屬性值的時候調用。SocketSocket概述Socket是計算機網絡通信的技術之一。如今大多數基于網絡的軟件,如瀏覽器、實時通訊工具等都是基于Socket實現的。網絡上的兩個程序通過一個雙向的通訊連接實現數據的交換,這個雙向鏈路的一端稱為一個Socket,通常用來連接服務器端和客戶端,建立網絡通信連接時至少需要一對Socket。Socket處于網絡協議的傳輸層,編程中通常使用的協議是TCP/IP協議。Socket可以由一個IP地址和一個端口號來唯一確定。Socket
Socket通信流程Socket也屬于服務器/客戶端模型。服務端會對某個端口進行監聽,客戶端在需要時對服務端發出請求,服務端在接收到請求之后向客戶端發送接收的消息,完成連接的建立。這時Socket就可以通過相應的協議來進行通信。Socket
Socket通信流程基于TCP協議網絡通信的流程首先,服務端創建服務器端Socket綁定相應的端口,并在指
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 脊柱性關節炎研究進展與診療規范
- 流動人口工作計劃錦集(15篇)
- 不在廚房玩耍安全教育
- 東西方傳染病預防措施制作指南
- 抽血個案護理標準化流程
- 甲亢術后護理措施
- 內鏡中心人文護理體系構建
- 心動過緩護理
- 員工消防考試題目及答案
- 印刷法律法規試題及答案
- 儲罐內噴鋁施工方案
- 2024年江西省高考地理真題(解析版)
- 人教版小學數學四年級下冊課件:《平均數》課件
- 紹興市糧食批發市場經營有限公司招聘筆試題庫2024
- 畢業研究生登記表(適用于江蘇省)
- 2024年光伏行業供應鏈數字化建設白皮書
- 網絡傳播概論(第5版)課件 第七章 網絡傳播建構的關系
- 公安機關拘留通知書(存根、附卷副本、正本)模板
- 高考語文作文:二元關系分析類思辨作文
- 2024年倉儲、物流等貨物管理員資格知識考試題庫(附含答案)
- 提高病人吸氧的依從性品管圈
評論
0/150
提交評論