久久亚洲精品成人_国产精品欧美综合亚洲_亚洲va天堂va欧美ⅴa在线_91色视频在线观看_久久影院亚洲_一级黄色片播放_日韩av在线一区_精品一区二区在线看_老头吃奶性行交视频_日韩免费高清视频_天天操天天爽天天干_日本欧美在线视频

首頁 > 學院 > 開發設計 > 正文

基于spring3.0mvc框架的文件上傳實現

2019-11-14 15:35:56
字體:
來源:轉載
供稿:網友

SPRing 框架提供了構建 Web 應用程序的全功能 MVC 模塊。使用 Spring 可插入的 MVC 架構,可以選擇是使用內置的 Spring Web 框架還是 Struts 這樣的 Web 框架。通過策略接口,Spring 框架是高度可配置的,而且包含多種視圖技術,例如 javaServer Pages(jsp)技術、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的視圖,所以不會強迫您只使用 JSP 技術。Spring MVC 分離了控制器、模型對象、分派器以及處理程序對象的角色,這種分離讓它們更容易進行定制。

第一步:1. spring使用了apache-commons下得上傳組件,因此,我們需要引入兩個jar包:

  1. apache-commons-fileupload.jar
  2. apache-commons-io.jar

第二步:2.  在springmvc-servlet.xml配置文件中,增加CommonsMultipartResoler配置:

<?xml version="1.0" encoding="UTF-8" ?><beans    xmlns="http://www.springframework.org/schema/beans"    xmlns:context="http://www.springframework.org/schema/context"    xmlns:p="http://www.springframework.org/schema/p"    xmlns:mvc="http://www.springframework.org/schema/mvc"    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xsi:schemaLocation="http://www.springframework.org/schema/beans     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd    http://www.springframework.org/schema/context    http://www.springframework.org/schema/context/spring-context.xsd    http://www.springframework.org/schema/mvc    http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">    <!-- 掃描包 -->    <context:component-scan base-package="com.tgb.web.controller.annotation"/>    <!-- 啟用注解包 -->    <mvc:annotation-driven/>    <!-- 被上面替代     <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"></bean>    <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"></bean>    -->      <!-- 視圖解析器 -->    <bean id="viewResolver"        class="org.springframework.web.servlet.view.InternalResourceViewResolver">        <property name="prefix" value="/" />        <property name="suffix" value=".jsp" />    </bean>           <!-- 上傳配置文件 -->      <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">              <!-- 默認編碼 (ISO-8859-1) -->               <property name="defaultEncoding" value="utf-8"/>              <!-- 最大文件大小,-1為無限止(-1) -->               <property name="maxUploadSize" value="20000000000"/>              <!-- 最大內存大小 (10240)-->               <property name="maxInMemorySize" value="200000"/>     </bean>    <!-- 靜態資源訪問 --> <!--     <mvc:resources location="/images/" mapping="/images/**"/>-->          </beans>

 第三步:配置web.xml

 1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app version="2.5"  3     xmlns="http://java.sun.com/xml/ns/javaee"  4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  5     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  6     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  7    8    9   10   <welcome-file-list>11     <welcome-file>index.jsp</welcome-file>12   </welcome-file-list>13   14   <servlet>15      <servlet-name>springMVC</servlet-name>16      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>17      <init-param>18        <param-name>contextConfigLocation</param-name>19        <param-value>classpath*:config/springMVC-servlet.xml</param-value>20      </init-param>21      <load-on-startup>1</load-on-startup>22   </servlet>23   24    <!-- 解決亂碼 -->25     <filter>   26        <filter-name>encodingFilter</filter-name>   27         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>   28         <init-param>   29            <param-name>encoding</param-name>   30             <param-value>UTF-8</param-value>   31         </init-param>  32          <init-param>   33            <param-name>froceEncoding</param-name>   34             <param-value>true</param-value>   35         </init-param> 36     </filter>   37         38      <filter-mapping>   39          <filter-name>encodingFilter</filter-name>   40          <url-pattern>/*</url-pattern>   41      </filter-mapping>   42   43     44   45   <servlet-mapping>46     <servlet-name>springMVC</servlet-name>47     <url-pattern>/</url-pattern>48   </servlet-mapping>49 </web-app>

第四步:建立upload.jsp頁面,內容如下:

 1 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> 2 <% 3 String path = request.getContextPath(); 4 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 5 %> 6  7 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 8 <html> 9   <head>10     <base href="<%=basePath%>">11     12     <title>測試springmvc中上傳的實現</title>13     <meta http-equiv="pragma" content="no-cache">14     <meta http-equiv="cache-control" content="no-cache">15     <meta http-equiv="expires" content="0">    16     <meta http-equiv="keyWords" content="keyword1,keyword2,keyword3">17     <meta http-equiv="description" content="This is my page">18     <!--19     <link rel="stylesheet" type="text/CSS" href="styles.css">20     -->21   </head>22   23   <body>24    <form action="uploadContoller?toupload" method="post" enctype="multipart/form-data">25        文件上傳:<input type="file" value="" name="file"> 26      <input  type="submit" value="上傳"/>27    </form>28   </body>29 </html>

 建立控制器UploadContoller.java(三種方法支持文件上傳),代碼如下:

package com.tgb.web.controller.annotation;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.util.Date;import java.util.Iterator;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.multipart.MultipartFile;import org.springframework.web.multipart.MultipartHttpServletRequest;import org.springframework.web.multipart.commons.CommonsMultipartFile;import org.springframework.web.multipart.commons.CommonsMultipartResolver;@Controller@RequestMapping("/uploadContoller")public class UploadContoller {    //========================第一種:======================    @RequestMapping(params="uploadUser")    // 普通上傳    public String uploadUser(@RequestParam("file") CommonsMultipartFile file,            HttpServletRequest request, HttpServletResponse response)            throws IOException {        System.out.println("filename++++++++" + file.getOriginalFilename());        if (!file.isEmpty()) {            try {                Date date = new Date();                            FileOutputStream os = new FileOutputStream("../images"                        + date.getTime() + file.getOriginalFilename());                InputStream in = file.getInputStream();                int b = 0;                while ((b = in.read()) != -1) {                    os.write(b);                }                os.flush();                os.close();                in.close();            } catch (FileNotFoundException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }        }        return "success";    }            //========================第二種:======================    @RequestMapping(params="toupload")    public String toupload(HttpServletRequest request,            HttpServletResponse response) {        // 創建一個通用的多部分解析器        CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(                request.getsession().getServletContext());        // 判斷 request 是否有文件上傳,即多部分請求        if (multipartResolver.isMultipart(request)) {            // 轉換成多部分request            MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;            // 取得request中的所有文件名            Iterator<String> iter = multiRequest.getFileNames();            while (iter.hasNext()) {                // 記錄上傳過程起始時的時間,用來計算上傳時間                int pre = (int) System.currentTimeMillis();                // 取得上傳文件                MultipartFile file = multiRequest.getFile(iter.next());                if (file != null) {                    // 取得當前上傳文件的文件名稱                    String myFileName = file.getOriginalFilename();                    // 如果名稱不為“”,說明該文件存在,否則說明該文件不存在                    if (myFileName.trim() != "") {                        System.out.println(myFileName);                        // 重命名上傳后的文件名                        String fileName = "demoUpload"                                + file.getOriginalFilename();                        // 定義上傳路徑                        String path = "/images/" + fileName;                        File localFile = new File(path);                        try {                            file.transferTo(localFile);                        } catch (IllegalStateException e) {                            // TODO Auto-generated catch block                            e.printStackTrace();                        } catch (IOException e) {                            // TODO Auto-generated catch block                            e.printStackTrace();                        }                    }                }                // 記錄上傳該文件后的時間                int finaltime = (int) System.currentTimeMillis();                System.out.println(finaltime - pre);            }        }        return "success";    }    //========================第三種:======================    @RequestMapping(params="niceupload")    // 優化上傳    public String niceupload(HttpServletRequest request,            HttpServletResponse response) {        CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(                request.getSession().getServletContext());        if (multipartResolver.isMultipart(request)) {            MultipartHttpServletRequest mulitRequest = (MultipartHttpServletRequest) (request);            Iterator<String> iterator = mulitRequest.getFileNames();            while (iterator.hasNext()) {                MultipartFile fiel = mulitRequest.getFile((String) iterator                        .next());                if (fiel != null) {                    String fileName = "demoUpload" + fiel.getOriginalFilename();                    String path = "D:/" + fileName;                    File localfile = new File(path);                    try {                        fiel.transferTo(localfile);                    } catch (IllegalStateException e) {                        // TODO Auto-generated catch block                        e.printStackTrace();                    } catch (IOException e) {                        // TODO Auto-generated catch block                        e.printStackTrace();                    }                }            }        }        return "/success";    }}

 

5. 建立success.jsp頁面

<%@ page language="java" import="java.util.*"  contentType="text/html;charset=utf-8" pageEncoding="utf-8"%><%@taglib uri="http://java.sun.com/jsp/jstl/core"  prefix="c"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>      <title>傳遞參數</title>  </head>    <body>          <h1>上傳成功    +++++++++++</h1>  </body></html>
  1. 發布項目,運行測試:http://localhost:8080/springmvc03/upload.jsp

     3、  進入項目發布后的目錄,發現文件上傳成功:

 

您可以通過點擊 右下角 的按鈕 來對文章內容作出評價, 也可以通過左下方的 關注按鈕 來關注我的博客的最新動態。 如果文章內容對您有幫助, 不要忘記點擊右下角的 推薦按鈕 來支持一下哦   如果您對文章內容有任何疑問, 可以通過評論或發郵件的方式聯系我: 2276292708@QQ.com或加入JAVA技術交流群:306431857如果需要轉載,請注明出處,謝謝!!

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
在线观看黄网站| 久热爱精品视频线路一| 精品一区免费av| 少妇太紧太爽又黄又硬又爽| 久久精品一区二区免费播放| 50路60路老熟妇啪啪| 欧美性受xxxx黑人猛交88| av成人综合网| 国产精品小说在线| eeuss国产一区二区三区| 中文字幕在线观看1| 国产精品99re| 欧美日韩综合一区二区| 欧美成人久久久免费播放| 亚洲av无码专区在线播放中文| 噜噜噜久久亚洲精品国产品麻豆 | 日本丰满大乳奶| 久久国产日韩欧美| 95av在线视频| 91欧美激情另类亚洲| 国产精品6699| 国产成人午夜视频网址| 色与欲影视天天看综合网| 日韩精品久久久久| 亚洲跨种族黑人xxx| 日韩电影第一页| 精品国产免费一区二区三区四区| 在线成人午夜影院| 欧美日韩国产区一| 91麻豆精品国产91久久久资源速度 | 97超碰人人草| 一级黄色片免费| 精品国精品国产自在久不卡| 丰满人妻一区二区三区四区| 中文字幕欧美人妻精品一区蜜臀| 一级久久久久久| 国产超碰人人模人人爽人人添| 国产日韩欧美一区二区东京热| 精品人妻aV中文字幕乱码色欲 | 婷婷开心激情综合| 亚洲一线二线三线久久久| 一区二区视频免费在线观看| 中文字幕日韩一区| 亚洲电影中文字幕在线观看| 在线免费看91| 一道本无吗一区| 精品国产一级片| 日韩在线一区二区三区| 国产乱码精品1区2区3区| 粉嫩av一区二区三区粉嫩| 91美女片黄在线观看91美女| 国产女主播视频一区二区| 国产精品成人一区二区艾草| 亚洲精品v日韩精品| 色综合久久综合网欧美综合网| 欧美午夜理伦三级在线观看| 日韩欧美一区二区三区在线| 国产香蕉一区二区三区在线视频| 久久精品最新地址| 国产成人精品最新| 久久国产精品免费一区| 国产911在线观看| 国产wwwxx| 影音先锋制服丝袜| 成人毛片18女人毛片| 亚洲AV无码精品国产| 美女在线观看视频一区二区| 91免费精品国自产拍在线不卡 | 国产免费内射又粗又爽密桃视频| 妞干网在线免费视频| 啊啊啊国产视频| 特黄视频免费观看| 久久综合久久鬼| 色丁香久综合在线久综合在线观看| 一区二区三区不卡视频在线观看| 中文字幕一区在线观看| 午夜在线成人av| 91麻豆精品久久久久蜜臀 | 天天躁日日躁狠狠躁喷水| 久久一区中文字幕| 成人的网站免费观看| 中文字幕一区免费在线观看| 欧美日韩久久一区二区| 一本色道久久综合狠狠躁篇的优点 | 污免费在线观看| 岛国毛片在线观看| 成人久久久精品国产乱码一区二区 | 日本美女一区二区三区视频| 91片在线免费观看| 欧美日韩综合一区| 欧美激情xxxx性bbbb| 亚洲最大av网站| 国产高清不卡无码视频| 69亚洲乱人伦| 特级西西444www大胆免费看| 国产一区二区三区免费看| 一区二区三区四区亚洲| 日韩精品中文字幕久久臀| 国产精品久久久久久久久久99| 日韩国产在线一区| 激情av中文字幕| 无码人妻精品一区二区| 成人午夜视频在线| 日韩一区二区在线观看视频播放| 国产91精品久久久| 久久亚洲国产成人精品无码区| 久久国产柳州莫菁门| 性色av蜜臀av| 亚洲一区二区在线播放相泽 | 亚洲激情啪啪| 国产在线观看无码免费视频| 国产高中女学生第一次| 日本一区二区三区国色天香| 亚洲精品国产美女| 国产区日韩欧美| 挪威xxxx性hd极品| 亚洲狼人综合网| 樱桃视频在线观看一区| 久久伊人91精品综合网站| 亚洲成色最大综合在线| 永久免费成人代码| 狠狠狠色丁香婷婷综合久久五月| 欧美挠脚心视频网站| 91亚洲国产精品| 中国特级黄色片| 天堂av2024| 欧美午夜精品一区| 97免费高清电视剧观看| 91传媒理伦片在线观看| 久久久久国产精品午夜一区| 欧美日韩国产精品一区二区不卡中文| yellow中文字幕久久| 老汉色影院首页| 亚洲第一在线播放| 国产精品久久久久一区二区三区| 不卡av在线播放| 国产熟女高潮视频| www.爱爱.com| 欧美精品电影在线播放| 国产乱码一区| 一区二区三区影视| 国产精品私人影院| 日本精品免费一区二区三区| 亚洲欧美日韩中文字幕在线观看| 丝袜诱惑制服诱惑色一区在线观看| 91高清视频免费看| 国产区一区二区三区| 亚洲欧美va天堂人熟伦| 91丨九色丨尤物| 免费av一区二区| 欧美成年人视频在线观看| 国产日产亚洲系列最新| 欧美日韩亚洲综合在线| 裸模一区二区三区免费| 国产在线视频第一页| 亚洲欧洲日韩在线| 国产精品视频网站| 亚洲精品视频久久久| 99久久精品免费| 欧美精品第一页在线播放| www.久久av.com| 国产精品一区二区久激情瑜伽| 在线电影av不卡网址| 美女喷白浆视频| 久久久久久穴| 中文字幕不卡av| 鲁一鲁一鲁一鲁一av| 久久99精品久久久久婷婷| 国产一区二区三区在线观看视频| 欧美xxxxx在线视频| 视频一区二区三区入口| 亚洲精品一区二区在线| 超碰在线97免费| 国产成人鲁色资源国产91色综| 欧美成人免费全部观看天天性色| 小日子的在线观看免费第8集| 成人aa视频在线观看| 日本精品免费观看| 欧美爱爱免费视频| 欧美性xxxx极品高清hd直播| 青青草原成人| 午夜精品久久久久久久99老熟妇| 日韩精品在线观| 在线一区二区不卡| 26uuu久久天堂性欧美| 国产日韩欧美黄色| 亚洲伊人成人网| 日韩一二三区不卡| 97超碰成人在线| 91啪亚洲精品| 狠狠爱一区二区三区| 一级特黄aaa| 在线国产精品播放| 免费在线观看成年人视频| 亚洲乱码中文字幕综合| 日韩久久不卡| 亚洲欧美日韩免费| 7777精品视频| 国产精品99re| 亚洲激情在线观看视频免费| 亚洲无在线观看| 亚洲欧美综合网| 亚洲成人18| www.午夜激情| 午夜精品三级视频福利| 国产探花在线免费观看| 欧美精品1区2区3区| 天天色综合社区| 国产精品理伦片| 亚洲啪啪av| 国产精品一区二区男女羞羞无遮挡| 琪琪第一精品导航| 午夜精品免费观看| 在线观看欧美视频| 成人自拍小视频| 日韩欧美专区在线| 美女扒开腿免费视频| 欧美日韩免费在线观看| 日本一区二区黄色| 一区在线中文字幕| 国产在线无码精品| 久久亚洲捆绑美女| 日韩av一级大片| 久久97超碰国产精品超碰| 成人精品一区二区三区| www三级免费| 日韩免费不卡av| 91麻豆视频在线观看| 97超级碰在线看视频免费在线看| 国产免费av一区| 欧美xxxx14xxxxx性爽| 天天干在线播放| 欧美精品国产精品日韩精品| 欧美精品一二三四区| 神马久久久久久| 国产无套丰满白嫩对白| 欧美国产日韩一区二区三区| 日韩精品一区二区亚洲av观看| xvideos成人免费中文版| 日本在线视频免费| 美女久久久久久久| 91丨九色丨蝌蚪丨对白| 欧美综合在线观看| www久久久com| 成人3d动漫一区二区三区91| 久久99精品久久久久婷婷| 日本一区二区三区免费观看| av激情亚洲男人天堂| 少妇高潮大叫好爽喷水| 国产精品蜜臀av| 成人性生生活性生交12| 在线精品亚洲一区二区不卡| 小毛片在线观看| 精品一区电影国产| www.国产色| 国产精品久久二区| 国产一区二区免费在线| 热久久最新地址| 亚洲午夜av在线| 丰满人妻一区二区三区免费视频棣 | 亚洲视频一二三四| 5858s免费视频成人| 天堂网中文在线观看| 久久亚洲精品视频| www.黄色av| 欧美精品一区二区三区四区五区| 92精品国产成人观看免费| 男女午夜激情视频| 欧美久久久久久蜜桃| 日本少妇aaa| 色综合导航网站| 午夜影院免费体验区| 日韩久久在线| 午夜欧美在线一二页| 人妻丰满熟妇av无码久久洗澡| 亚洲欧洲激情在线| 国产精品国产av| 免费av在线一区二区| 成人欧美一区二区三区黑人麻豆 | 久久久久免费网| 亚洲欧洲日产国码二区| 亚洲熟女一区二区| 一区二区三区无码高清视频| 精品人妻无码一区二区三区蜜桃一| 国内视频一区二区| 亚洲免费观看在线观看| 伊人网在线视频观看| 欧美激情中文网| 国产999精品久久久久久绿帽| 欧洲av无码放荡人妇网站| 这里只有精品免费| 一区二区www| 亚洲一区三区| 在线观看日韩毛片| 亚洲va在线观看| 欧美一区1区三区3区公司| 亚洲成av人**亚洲成av**| 欧美另类videoxo高潮| 国产精品永久在线| 国产精品毛片大码女人| 国产高清一区二区三区四区| 欧美亚洲在线视频| 久久久久久久久免费| jizz欧美性20| 国产欧美精品一区二区三区-老狼| 久久这里只有精品视频网| 好吊一区二区三区视频| 欧美在线视频网| 亚洲国产精品激情在线观看| 亚洲av成人无码久久精品| 成人激情视频小说免费下载| 依依成人综合视频| 中文字幕一区二区三区精品 | 国产精品一区二区亚洲| 91色视频在线导航| 亚洲一区二区3| 亚洲黄色免费观看| 精品久久免费观看| 精品久久人人做人人爰| 亚洲美女自拍偷拍| 精品一区二区亚洲| 国产精品一区二区黑丝| a视频免费观看| 国产日韩精品入口| 午夜成人在线视频| 中文字幕+乱码+中文| www.xxx麻豆| 久久综合亚洲社区| 国产亚洲欧洲一区高清在线观看| 欧美日韩国产黄色| 精品视频导航| 91精品婷婷国产综合久久性色| 色欲av永久无码精品无码蜜桃| 欧美一级小视频| 国产精品视频男人的天堂 | 国产精品果冻传媒| 国产精品久久久久久一区二区 | 欧美污在线观看| 国产欧美日韩高清| 日本乱人伦aⅴ精品| 国产精品免费无遮挡| 无码人妻丰满熟妇区毛片18| 欧美大片在线影院| 一区二区三区欧美视频| 亚洲天天综合网| 亚洲欧美国产中文| 欧美日韩激情小视频| 国产强伦人妻毛片| 最新免费av网址| 国产精品日韩欧美| 欧美日韩亚洲国产综合| 日韩精品一级中文字幕精品视频免费观看 | 国产67194| 91精品一区二区三区四区| 久久九九全国免费精品观看| 中文在线一区二区| 久久久国产免费| 三上悠亚在线一区| 亚洲xxxx在线| 日韩精品一区二区三区视频在线观看 | 毛片视频网站在线观看| 日韩欧美在线播放视频| 国产精品视频色| 亚洲精品在线一区二区| 久久综合九色综合欧美亚洲| 91青青草视频| 91丨porny丨九色| 免费不卡亚洲欧美| 久久99久久亚洲国产| 一本大道av伊人久久综合| 青青草国产精品97视觉盛宴| 国产97免费视频| 国产精品天天av精麻传媒| 国产一区二区丝袜高跟鞋图片| 欧美成人在线直播| 中文字幕国产一区| 亚洲老妇色熟女老太| 很污很黄的网站| 国产白丝袜美女久久久久| 日本久久91av| 精品国产99国产精品| 日本一区二区三区免费乱视频| 成人激情四射网| 国产精品久久久久久久精| 女性隐私黄www网站视频| 97自拍视频| 日韩在线中文字| 欧美主播一区二区三区美女| 99久久99久久综合| 国产成人三级在线观看视频| www.xxxx日本| 日韩av加勒比| 大片在线观看网站免费收看| 国产精品一区二区久久| 亚洲欧洲在线免费| 国产美女明星三级做爰| 大黑人交xxx极品hd| 成人免费毛片网| 麻豆成人av| 秋霞av国产精品一区| 亚洲精品视频免费| 色一情一伦一子一伦一区| 久久免费视频色| 日产欧产美韩系列久久99| 亚洲天堂男人av| 国产精品免费无码| 天天干天天色天天干| 日本高清视频免费在线观看| 国产精品日本一区二区| 国产成人精品免费视频|