`

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

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

    在web应用程序上下文配置文件中(我的配置文件名为 /WEB-INF/config/app-config.xml)定义如下:
 <bean id="multipartResolver"
  class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
  <!-- 以字节为单位的最大上传文件的大小 -->
  <property name="maxUploadSize" value="100000" />
 </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表单:
 <body>
  <h1>
   Spring MVC 3.0 文件上传测试
  </h1>   //action里的html是后缀名,不是HTML文件,用于spring对请求进行拦截判断
  <form. method="post" action="upload.html" enctype="multipart/form-data">
   <input type="text" name="name" />
   <input type="file" name="file" />
   <input type="submit" />
  </form>
 </body>


    创建一个controller(控制器)来处理文件上传请求,FileUploadController.java:
@Controller //声明该类为控制器类
public class FileUploadController implements ServletContextAware{ //实现ServletContextAware接口,获取本地路径

 private ServletContext servletContext;

 public void setServletContext(ServletContext servletContext) { //实现接口中的setServletContext方法
  this.servletContext = servletContext;
 }

 @RequestMapping(value = "/upload", method = RequestMethod.POST) //将文件上传请求映射到该方法
 public String handleFormUpload(@RequestParam("name") String name, //设置请求参数的名称和类型
   @RequestParam("file") CommonsMultipartFile mFile) { //请求参数一定要与form中的参数名对应
  if (!mFile.isEmpty()) {
   String path = this.servletContext.getRealPath("/tmp/");  //获取本地存储路径
   File file = new File(path + new Date().getTime() + ".jpg"); //新建一个文件
   try {
    mFile.getFileItem().write(file); //将上传的文件写入新建的文件中
   } catch (Exception e) {
    e.printStackTrace();
   }
   
   return "redirect:uploadSuccess"; //返回成功视图
  }else {
   return "redirect:uploadFailure"; //返回失败视图
  }
 }
}
分享到:
评论

相关推荐

    精通Spring MVC 4

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

    spring mvc上传文件

    Spring MVC是Spring框架的一部分,提供了一种模型-视图-控制器(MVC)架构模式,用于构建Web应用程序。Ajax(Asynchronous JavaScript and XML)则是一种在无需刷新整个页面的情况下更新部分网页的技术。 首先,...

    Spring MVC 文件上传下载 后端 - Java.zip

    在Spring MVC框架中,文件上传和下载是常见的功能需求,特别是在构建Web应用程序时。这个压缩包文件"Spring MVC 文件上传下载 后端 - Java.zip"包含的文档可能详细阐述了如何在Java后端实现这些功能。以下是关于...

    spring mvc 文件上传 代码完整版

    在Spring MVC框架中,文件上传是一项常见的功能,用于接收用户通过表单提交的文件数据。这一功能对于构建Web应用程序,尤其是那些需要用户...通过理解并应用这些知识,你可以为你的Web应用程序添加强大的文件上传功能。

    spring mvc核心包(包含文件上传)

    Spring MVC是Spring框架的一个模块,用于处理Web应用程序的请求和响应。它遵循Model-View-Controller设计模式,将业务逻辑、数据和用户界面分离,使得代码更易于维护和扩展。 2. **Model-View-Controller (MVC) ...

    基于Spring MVC的web应用

    在基于Spring MVC的web应用中,我们将深入探讨以下几个关键知识点: 1. **MVC模式**:M(Model)代表业务逻辑,V(View)代表用户界面,C(Controller)负责协调Model和View。Spring MVC 将这三者解耦,使得开发更...

    ajaxupload在spring mvc4.2中实现简单文件上传

    Spring MVC是Spring框架的一部分,用于构建Web应用程序。版本4.2提供了许多增强功能,包括支持RESTful Web服务、更强大的数据绑定、类型安全的HTTP消息转换器等。对于文件上传,Spring MVC提供了便捷的API和配置...

    文件上传下载(maven + spring mvc + jetty)

    接下来是Spring MVC,它是Spring框架的一部分,专为创建Web应用程序而设计。Spring MVC提供了模型-视图-控制器(MVC)架构,使得业务逻辑、数据处理和用户界面可以清晰地分离。在文件上传下载的场景中,Spring MVC的...

    Spring MVC文件上传下载

    Spring MVC 是一个强大的Java web开发框架,用于构建可维护、模块化且松散耦合的Web应用程序。在Spring MVC中,文件的上传和下载是常见的功能需求,这涉及到客户端与服务器之间的数据传输。本篇文章将深入探讨Spring...

    Spring MVC实现文件的上传下载

    Spring MVC 是一个强大的Java Web开发框架,用于构建可维护、高性能和灵活的Web应用程序。它在Spring框架的基础上,为处理HTTP请求提供了模型-视图-控制器(MVC)架构。在Spring MVC中实现文件的上传和下载是常见的...

    spring mvc html5带进度条上传的例子.zip

    Spring MVC 是一个强大的Java web开发框架,用于构建可维护、模块化且松散耦合的Web应用程序。在本示例中,"spring mvc html5带进度条上传的例子" 展示了如何在Spring MVC中集成HTML5的新特性,特别是文件上传功能,...

    Spring Web MVC入门教程

    文件上传和下载功能是Web应用中常见的需求之一,Spring Web MVC通过MultipartResolver组件提供了对文件上传的支持。对于表单标签的支持,Spring Web MVC不仅简化了传统JSP标签的使用,还扩展了表单相关的处理能力。 ...

    spring mvc 4.0

    Spring MVC是Spring框架的一个核心模块,专为构建Web应用程序提供模型-视图-控制器(MVC)架构。在Spring MVC 4.0版本中,它引入了许多改进和新特性,以提升开发效率和应用程序的性能。 1. **依赖注入**:Spring ...

    spring mvc uploadify上传文件

    Spring MVC是Spring框架的一部分,专门用于构建Web应用程序,而uploadify是一款前端JavaScript插件,使得用户能够在浏览器端实现文件上传的便捷操作。 ### 1. Spring MVC 文件上传基础 Spring MVC提供了`@...

    SevenDay-Spring MVC(基于Spring MVC实现文件上传与下载)的源代码

    Spring MVC 是一个强大的Java web开发框架,用于构建可维护、高性能和灵活的Web应用程序。它在Spring框架的基础上提供了模型-视图-控制器(MVC)架构模式,简化了Web应用的开发。在这个"SevenDay-Spring MVC 实现...

    Spring mvc 教程

    Spring Web MVC 是 Spring Framework 的一个重要组成部分,主要用于构建基于 Java 的 Web 应用程序。它提供了一个灵活且强大的 MVC 实现,使得开发者能够轻松地开发出复杂的 Web 应用。 #### Spring Web MVC 的新...

    Spring MVC 4.2.4.RELEASE 中文文档

    Spring MVC是Spring框架的一个核心组件,专注于构建Web应用程序。它提供了模型-视图-控制器(MVC)架构,帮助开发者组织和分离应用的业务逻辑、数据处理以及用户界面。Spring MVC 4.2.4.RELEASE虽然不是一个正式版本...

    Spring MVC所需jar包

    Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一个重要模块,主要用于构建 Web 应用程序的后端控制层。这个框架提供了模型-视图-控制器(MVC)设计模式的实现,简化了Java Web应用的开发...

    spring-web和spring-webmvc_4.2.4

    总的来说,`spring-web`和`springs-webmvc`这两个模块构成了Spring框架在Web开发中的基础,它们协同工作,为开发者提供了强大的工具和灵活性,使得构建现代Web应用程序变得更加简单和高效。在实际项目中,开发者通常...

    Expert Spring MVC

    5. **文件上传/下载**:内置 Commons FileUpload 组件支持文件上传功能。 - 支持大文件上传、文件下载等操作。 #### 五、Spring MVC 与 Web Flow 结合 《Expert Spring MVC and Web Flow》这本书还介绍了 Spring ...

Global site tag (gtag.js) - Google Analytics