当前位置: 首页 > news >正文

网站备案法律2345百度百科

网站备案法律,2345百度百科,电商哪个平台好做,汽车之家app下载最新版springMVC实现多文件上传的方式有两种#xff0c;一种是我们经常使用的以字节流的方式进行文件上传#xff0c;另外一种是使用springMVC包装好的解析器进行上传。这两种方式对于实现多文件上传效率上却有着很大的差距#xff0c;下面我们通过实例来看一下这两种方式的实现方… springMVC实现多文件上传的方式有两种一种是我们经常使用的以字节流的方式进行文件上传另外一种是使用springMVC包装好的解析器进行上传。这两种方式对于实现多文件上传效率上却有着很大的差距下面我们通过实例来看一下这两种方式的实现方式同时比较一下在效率上到底存在着多大的差距。 1.下载相关jar包。需要引入的jar出了springMVC的jar包外还需要引入com.springsource.org.apache.commons.fileupload-1.2.0.jar和com.springsource.org.apache.commons.io-1.4.0.jar。所有的jar包可以通过“点击这里”进行下载。 2.配置springAnnotation-servlet.xml文件文件名称可以自定义只要和web.xml中引入的名称一样即可 [html] view plaincopy ?xml version1.0 encodingUTF-8?   !-- Bean头部 --   beans xmlnshttp://www.springframework.org/schema/beans       xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance       xmlns:phttp://www.springframework.org/schema/p       xmlns:mvchttp://www.springframework.org/schema/mvc       xmlns:contexthttp://www.springframework.org/schema/context       xmlns:utilhttp://www.springframework.org/schema/util       xsi:schemaLocationhttp://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-3.0.xsd               http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd               http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd            !-- 注解扫描包 --      context:component-scan base-packagecom.tgb.web.controller.annotation/context:component-scan      !-- 代替下面的两行代码 --      mvc:annotation-driven/           !-- 静态资源访问 --      mvc:resources location/img/ mapping/img/**/       mvc:resources location/js/ mapping/js/**/                  bean idviewResolver classorg.springframework.web.servlet.view.InternalResourceViewResolver           property nameprefix value//property           property namesuffix value.jsp/property             /bean            bean idmultipartResolver classorg.springframework.web.multipart.commons.CommonsMultipartResolver           property namedefaultEncoding valueutf-8/property            property namemaxUploadSize value10485760000/property           property namemaxInMemorySize value40960/property      /bean   /beans   3. 配置web.xml文件 [html] view plaincopy ?xml version1.0 encodingUTF-8?   web-app xmlns:xsihttp://www.w3.org/2001/XMLSchema-instance xmlnshttp://java.sun.com/xml/ns/javaee xmlns:webhttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd xsi:schemaLocationhttp://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd idWebApp_ID version2.5     display-namespringMVC1/display-name     welcome-file-list       welcome-fileindex.html/welcome-file     /welcome-file-list          servlet        servlet-namespringMVC/servlet-name        !-- springMVC的分发器 --        servlet-classorg.springframework.web.servlet.DispatcherServlet/servlet-class        init-param           param-namecontextConfigLocation/param-name           param-valueclasspath*:config/springAnnotation-servlet.xml/param-value        /init-param        !-- 表示当Tomcat已启动的时候初始化这个Servlet --        load-on-startup1/load-on-startup     /servlet          filter           filter-nameencodingFilter/filter-name           filter-classorg.springframework.web.filter.CharacterEncodingFilter/filter-class           init-param               param-nameencoding/param-name               param-valueUTF-8/param-value !--设置你想用的字符集我这里用的是GB18030--           /init-param           init-param           param-nameforceEncoding/param-name           param-valuetrue/param-value         /init-param     /filter              filter-mapping           filter-nameencodingFilter/filter-name           url-pattern/*/url-pattern !--设置你想过滤的页面或者是Servlet根据自己的需要配置--      /filter-mapping           servlet-mapping       servlet-namespringMVC/servlet-name       url-pattern//url-pattern     /servlet-mapping   /web-app   4. jsp页面代码 [html] view plaincopy % page languagejava contentTypetext/html; charsetUTF-8       pageEncodingUTF-8%   !DOCTYPE html PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtd   html   head   script typetext/javascript src../js/jquery-1.7.2.js/script   meta http-equivContent-Type contenttext/html; charsetUTF-8   titleInsert title here/title   script typetext/javascript       i  1;       j  1;       $(document).ready(function(){                      $(#btn_add1).click(function(){               document.getElementById(newUpload1).innerHTMLdiv iddiv_iinput  namefile typefile  /input typebutton value删除  onclickdel_1(i)//div;                 i  i  1;           });                      $(#btn_add2).click(function(){               document.getElementById(newUpload2).innerHTMLdiv iddiv_jinput  namefile_j typefile  /input typebutton value删除  onclickdel_2(j)//div;                 j  j  1;           });       });          function del_1(o){        document.getElementById(newUpload1).removeChild(document.getElementById(div_o));       }              function del_2(o){            document.getElementById(newUpload2).removeChild(document.getElementById(div_o));       }      /script   /head   body           h1springMVC字节流输入上传文件/h1        form nameuserForm1 action/springMVC7/file/upload enctypemultipart/form-data methodpost           div idnewUpload1               input typefile namefile           /div                      input typebutton idbtn_add1 value增加一行            input typesubmit value上传        /form        br       br       hr alignleft width60% color#FF0000 size3       br       br        h1springMVC包装类上传文件/h1        form nameuserForm2 action/springMVC7/file/upload2 enctypemultipart/form-data methodpost           div idnewUpload2               input typefile namefile           /div           input typebutton idbtn_add2 value增加一行            input typesubmit value上传                              /form    /body   /html   5.实现上传功能的java bean [java] view plaincopy package com.tgb.web.controller.annotation.upload;      import java.io.File;   import java.io.FileInputStream;   import java.io.FileOutputStream;   import java.io.IOException;   import java.io.PrintWriter;   import java.io.UnsupportedEncodingException;   import java.net.URLDecoder;   import java.util.Date;   import java.util.Iterator;      import javax.servlet.http.HttpServletRequest;   import javax.servlet.http.HttpServletResponse;   import javax.swing.filechooser.FileNameExtensionFilter;      import org.springframework.stereotype.Controller;   import org.springframework.web.bind.annotation.RequestMapping;   import org.springframework.web.bind.annotation.RequestMethod;   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;   import org.springframework.web.servlet.ModelAndView;         import com.tgb.web.controller.entity.User;      Controller   RequestMapping(/file)   public class UploadController {                      RequestMapping(/upload   )       public String addUser(RequestParam(file) CommonsMultipartFile[] files,HttpServletRequest request){                      for(int i  0;ifiles.length;i){               System.out.println(fileName----------  files[i].getOriginalFilename());                          if(!files[i].isEmpty()){                   int pre  (int) System.currentTimeMillis();                   try {                       //拿到输出流同时重命名上传的文件                       FileOutputStream os  new FileOutputStream(H:/  new Date().getTime()  files[i].getOriginalFilename());                       //拿到上传文件的输入流                       FileInputStream in  (FileInputStream) files[i].getInputStream();                                              //以写字节的方式写文件                       int b  0;                       while((bin.read()) ! -1){                           os.write(b);                       }                       os.flush();                       os.close();                       in.close();                       int finaltime  (int) System.currentTimeMillis();                       System.out.println(finaltime - pre);                                          } catch (Exception e) {                       e.printStackTrace();                       System.out.println(上传出错);                   }           }           }           return /success;       }                     RequestMapping(/upload2  )       public String upload2(HttpServletRequest request,HttpServletResponse response) throws IllegalStateException, IOException {           //创建一个通用的多部分解析器           CommonsMultipartResolver multipartResolver  new CommonsMultipartResolver(request.getSession().getServletContext());           //判断 request 是否有文件上传,即多部分请求           if(multipartResolver.isMultipart(request)){               //转换成多部分request                 MultipartHttpServletRequest multiRequest  (MultipartHttpServletRequest)request;               //取得request中的所有文件名               IteratorString 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  H:/  fileName;                           File localFile  new File(path);                           file.transferTo(localFile);                       }                   }                   //记录上传该文件后的时间                   int finaltime  (int) System.currentTimeMillis();                   System.out.println(finaltime - pre);               }                          }           return /success;       }              RequestMapping(/toUpload )        public String toUpload() {                      return /upload;       }          }   6.最后看后台打印数据数据来源于后台打印的上传文件所用的时间第一幅图片是使用字节流写入方式完成三个文件上传中每个文件用时第二幅图片是使用springMVC包装好的解析器进行的三个相同的文件上传中每个文件的用时 字节流实现文件上传的传递效率结果显示传递三个文件用时分别为534ms453ms和387ms。 使用springMVC解析器进行文件上传用时分别为2ms1ms和2ms。 通过对比这两种方式我们可以发现使用springMVC进行多文件的效率显然要比字符流写入方式效率上要高得多。
http://www.zqtcl.cn/news/161412/

相关文章:

  • 青岛建设网站制作wordpress代码高亮显示
  • 品牌创意型网站建设仿 手机 网站模板html
  • 信息化建设期刊网站网络规划设计师 用途
  • 商城网站开发的完整流程图精灵网站建设
  • 网站开发技术描述asp网站建设下载
  • 十堰网站开发洛阳网站开发公司
  • 做盗版网站坂田网站建设推广公司
  • 怎么用织梦修改建设一个新的网站小程序无代码开发平台
  • 网站建设询价外贸网页制作公司哪家好
  • 网页设计与网站建设报告ckplayer整合WordPress
  • 厦门APP开发网站开发公司百度热搜榜单
  • 网站排名英文怎么说网页编辑器在线使用
  • 湖南做防水堵漏工程商网站网站建设编程软件
  • 网站编辑专题怎么做徐州建筑工程招投标网站
  • 英文网站建设合同招考网站开发
  • 网上商城网站 找什么做dede本地环境搭建网站
  • 网站开发遇到的问题及解决方法深圳市做网站有哪些公司
  • 自媒体网站 程序18款免费软件app下载推荐
  • 产业园门户网站建设方案瑞昌网络推广
  • 长春市网站建设动漫wordpress主题下载地址
  • 如何做专业的模板下载网站wordpress 多网址
  • 做qq头像的网站wordpress 安装 服务器 系统
  • 怎样查网站的注册地点百度小说排行榜2021
  • 网站建设中中文模板wordpress siren
  • 设计本官方网站电脑版附近室内装修公司电话
  • 服务外包网站wordpress 禁止转载
  • l礼品文化网站建设不常见的网络营销方式
  • 做网站侵权腾讯企点打不开
  • iis 网站拒绝显示此网页上海网站建设类岗位
  • 营销型网站建设推荐google关键词