`
wbj0110
  • 浏览: 1536459 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

spring mvc web应用程序的文件上传功能

    博客分类:
  • Java
阅读更多

spring mvc 支持web应用程序的文件上传功能,是由spring内置的即插即用的MultipartResolver来实现的,这些解析器都定义在org.springframework.web.multipart包里。下面将使用CommonsMultipartResolver解析器来实现简单的文件上传功能。 

    在web应用程序上下文配置文件中(我的配置文件名为 /WEB-INF/config/app-config.xml)定义如下: 

Xml代码  收藏代码
  1. <bean id="multipartResolver"  
  2.  class="org.springframework.web.multipart.commons.CommonsMultipartResolver">  
  3.  <!-- 以字节为单位的最大上传文件的大小 -->  
  4.  <property name="maxUploadSize" value="100000" />  
  5. </bean>  


    加入两个依赖的jar包(spring官网可以下载到对应版本的常用依赖jar包): 

    com.springsource.org.apache.commons.io-1.4.0.jar 
    com.springsource.org.apache.commons.fileupload-1.2.0.jar 

    创建一个HTML表单: 

Html代码  收藏代码
  1. <body>  
  2.  <h1>  
  3.   Spring MVC 3.0 文件上传测试  
  4.  </h1>   //action里的html是后缀名,不是HTML文件,用于spring对请求进行拦截判断  
  5.  <form. method="post" action="upload.html" enctype="multipart/form-data">  
  6.   <input type="text" name="name" />  
  7.   <input type="file" name="file" />  
  8.   <input type="submit" />  
  9.  </form>  
  10. </body>  



    创建一个controller(控制器)来处理文件上传请求,FileUploadController.java: 

Java代码  收藏代码
  1. @Controller //声明该类为控制器类  
  2. public class FileUploadController implements ServletContextAware{ //实现ServletContextAware接口,获取本地路径  
  3.   
  4.  private ServletContext servletContext;  
  5.   
  6.  public void setServletContext(ServletContext servletContext) { //实现接口中的setServletContext方法  
  7.   this.servletContext = servletContext;  
  8.  }  
  9.   
  10.  @RequestMapping(value = "/upload", method = RequestMethod.POST) //将文件上传请求映射到该方法  
  11.  public String handleFormUpload(@RequestParam("name") String name, //设置请求参数的名称和类型  
  12.    @RequestParam("file") CommonsMultipartFile mFile) { //请求参数一定要与form中的参数名对应  
  13.   if (!mFile.isEmpty()) {  
  14.    String path = this.servletContext.getRealPath("/tmp/");  //获取本地存储路径  
  15.    File file = new File(path + new Date().getTime() + ".jpg"); //新建一个文件  
  16.    try {  
  17.     mFile.getFileItem().write(file); //将上传的文件写入新建的文件中  
  18.    } catch (Exception e) {  
  19.     e.printStackTrace();  
  20.    }  
  21.      
  22.    return "redirect:uploadSuccess"//返回成功视图  
  23.   }else {  
  24.    return "redirect:uploadFailure"//返回失败视图  
  25.   }  
  26.  }  
  27. }  
分享到:
评论

相关推荐

    精通Spring MVC 4

    本书共计10章,分别介绍了快速搭建Spring Web应用、精通MVC结构、URL映射、文件上传与错误处理、创建Restful应用、保护应用、单元测试与验收测试、优化请求、将Web应用部署到云等内容,循序渐进地讲解了Spring MVC4...

    精通Spring MVC 4 [精校高清版](Geoffroy.Warin). pdf

    本书共计10章,分别介绍了快速搭建Spring Web应用、精通MVC结构、URL映射、文件上传与错误处理、创建Restful应用、保护应用、单元测试与验收测试、优化请求、将Web应用部署到云等内容,循序渐进地讲解了Spring MVC4...

    精通SpringMVC(高清目录版含源码实例)

    本书共计10章,分别介绍了快速搭建Spring Web应用、精通MVC结构、URL映射、文件上传与错误处理、创建Restful应用、保护应用、单元测试与验收测试、优化请求、将Web应用部署到云等内容,循序渐进地讲解了Spring MVC4...

    SpringMVC实现文件上传.docx

    文件上传是Web应用程序中常见的功能之一,Spring MVC提供了方便的机制来处理文件上传。下面是关于Spring MVC实现文件上传的详细描述: Spring MVC文件上传的实现步骤如下: 准备MultipartResolver: 在Spring MVC...

    spring-mvc-showcase:演示Spring MVC Web框架的功能

    Spring MVC展示柜 通过小而简单的示例演示Spring MVC Web框架的功能。 在回顾了这个展示之后,您应该对Spring MVC可以做什么有一个很好的了解,并了解它的易用性。...在以下位置访问已部署的Web应用程序:

    spring mvc 3.2 参考文档

    Spring Web model-view-controller (MVC)框架是围绕 DispatcherServlet 设计的,并分发请求到处理程序(handler),Spring MVC支持可配置的处理程序映射(handler mapping),视图解析(view resolution)、 区域设置...

    SpringMVC+MYBatis企业应用实战

    本书针对每一个知识点都通过相应的程序给出了示范,所有应用范例都密切契合企业开发实际场景,例如用户权限验证、文件上传下载等都是企业开发实际功能,同时采用了目前企业流行、规范的开发架构,严格遵守Java EE...

    spring-mvc-showcase

    通过小而简单的示例演示 Spring MVC Web 框架的功能。 在查看了这个展示之后,您应该对 Spring MVC 可以做什么有一个很好的理解,并感受到它的易用性。 包括项目代码以及支持幻灯片和屏幕投射。 在此展示中,您将...

    spring-mvc-showcase:网路应用程式

    Spring MVC展示柜 通过小的简单示例演示Spring MVC Web框架的功能。 在回顾了这个展示之后,您应该对Spring MVC可以做什么有一个很好的了解,并了解它的易用性。...在以下位置访问已部署的Web应用程序:

    Spring面试专题.md

    &emsp;Spring是一个轻量级的IoC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架...* Spring MVC:提供面向Web应用的Model-View-Controller实现。 ## 1.3 Spring的好处 | 序号 | 好处 | 说明 | | ---- | ---

    Spring.3.x企业应用开发实战(完整版).part2

    13.6.4 Web应用程序中调度器的启动和关闭问题 13.7 小结 第14章 使用OXM进行对象XML映射 14.1 认识XML解析技术 14.1.1 什么是XML 14.1.2 XML的处理技术 14.2 XML处理利器:XStream 14.2.1 XStream概述 14.2.2 快速...

    Java Web程序设计教程

    1.1.2web应用程序 2 1.2使用java开发web应用 3 1.2.1面向对象的编程语言 3 1.2.2丰富的框架技术 4 1.2.3xml、css的应用 4 1.2.4使用javascript与ajax提升用户体验 7 1.3多种集成开发环境 9 1.3.1集成开发环境...

    开源WEB框架-Portal-Basic使用手册

    Spring Bean装配、国际化、文件上传下载和缓存等基础Web应用组件,提供高度灵活的纯 Jsp/Servlet API 编程模型,完美整合 Spring,支持Action Convention“零配置”,能快速开发传统风格和RESTful风格的Web应用程序...

    Spring3.x企业应用开发实战(完整版) part1

    13.6.4 Web应用程序中调度器的启动和关闭问题 13.7 小结 第14章 使用OXM进行对象XML映射 14.1 认识XML解析技术 14.1.1 什么是XML 14.1.2 XML的处理技术 14.2 XML处理利器:XStream 14.2.1 XStream概述 14.2.2 快速...

    spring-mvc-showcase:SpringMVC

    通过小而简单的示例演示 Spring MVC Web 框架的功能。 在查看了这个展示之后,您应该对 Spring MVC 可以做什么有一个很好的理解,并感受到它的易用性。 包括项目代码以及支持幻灯片和屏幕投射。 在此展示中,您将...

    JessMA Java Web 应用开发框架 (v3.2.2-20130815).pdf

    Spring Bean装配、国际化、文件上传下载和缓存等基础Web应用组件,提供高度灵活的纯 Jsp/Servlet API 编程模型,完美整合 Spring,支持Action Convention“零配置”,能快速开发传统风格和RESTful风格的Web应用程序...

    spring4.1核心包

    包含Web应用开发时,用到Spring框架时所需的核心类,包括自动载入WebApplicationContext特性的类、Struts与JSF集成类、文件上传的支持类、Filter类和大量工具辅助类。 18. spring-webmvc-4.1.1.RELEASE.jar 包含...

    dropbox-lite-api-gateway:Dropbox Lite Web应用程序的后端REST API-Java,Spring Boot(MVC)

    api后端可以同时服务Web应用程序和Mobile应用程序。 它还实现了自动缩放功能,以在高峰时段提供更好的用户体验。 Dropbox-lite提供以下基本功能: 用户可以在网站上注册。 注册用户可以将文件上传到他/她的帐户。...

Global site tag (gtag.js) - Google Analytics