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"; //返回失败视图
- }
- }
- }
相关推荐
本书共计10章,分别介绍了快速搭建Spring Web应用、精通MVC结构、URL映射、文件上传与错误处理、创建Restful应用、保护应用、单元测试与验收测试、优化请求、将Web应用部署到云等内容,循序渐进地讲解了Spring MVC4...
本书共计10章,分别介绍了快速搭建Spring Web应用、精通MVC结构、URL映射、文件上传与错误处理、创建Restful应用、保护应用、单元测试与验收测试、优化请求、将Web应用部署到云等内容,循序渐进地讲解了Spring MVC4...
本书共计10章,分别介绍了快速搭建Spring Web应用、精通MVC结构、URL映射、文件上传与错误处理、创建Restful应用、保护应用、单元测试与验收测试、优化请求、将Web应用部署到云等内容,循序渐进地讲解了Spring MVC4...
文件上传是Web应用程序中常见的功能之一,Spring MVC提供了方便的机制来处理文件上传。下面是关于Spring MVC实现文件上传的详细描述: Spring MVC文件上传的实现步骤如下: 准备MultipartResolver: 在Spring MVC...
Spring MVC展示柜 通过小而简单的示例演示Spring MVC Web框架的功能。 在回顾了这个展示之后,您应该对Spring MVC可以做什么有一个很好的了解,并了解它的易用性。...在以下位置访问已部署的Web应用程序:
Spring Web model-view-controller (MVC)框架是围绕 DispatcherServlet 设计的,并分发请求到处理程序(handler),Spring MVC支持可配置的处理程序映射(handler mapping),视图解析(view resolution)、 区域设置...
本书针对每一个知识点都通过相应的程序给出了示范,所有应用范例都密切契合企业开发实际场景,例如用户权限验证、文件上传下载等都是企业开发实际功能,同时采用了目前企业流行、规范的开发架构,严格遵守Java EE...
通过小而简单的示例演示 Spring MVC Web 框架的功能。 在查看了这个展示之后,您应该对 Spring MVC 可以做什么有一个很好的理解,并感受到它的易用性。 包括项目代码以及支持幻灯片和屏幕投射。 在此展示中,您将...
Spring MVC展示柜 通过小的简单示例演示Spring MVC Web框架的功能。 在回顾了这个展示之后,您应该对Spring MVC可以做什么有一个很好的了解,并了解它的易用性。...在以下位置访问已部署的Web应用程序:
 Spring是一个轻量级的IoC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架...* Spring MVC:提供面向Web应用的Model-View-Controller实现。 ## 1.3 Spring的好处 | 序号 | 好处 | 说明 | | ---- | ---
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 快速...
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集成开发环境...
Spring Bean装配、国际化、文件上传下载和缓存等基础Web应用组件,提供高度灵活的纯 Jsp/Servlet API 编程模型,完美整合 Spring,支持Action Convention“零配置”,能快速开发传统风格和RESTful风格的Web应用程序...
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 Web 框架的功能。 在查看了这个展示之后,您应该对 Spring MVC 可以做什么有一个很好的理解,并感受到它的易用性。 包括项目代码以及支持幻灯片和屏幕投射。 在此展示中,您将...
Spring Bean装配、国际化、文件上传下载和缓存等基础Web应用组件,提供高度灵活的纯 Jsp/Servlet API 编程模型,完美整合 Spring,支持Action Convention“零配置”,能快速开发传统风格和RESTful风格的Web应用程序...
包含Web应用开发时,用到Spring框架时所需的核心类,包括自动载入WebApplicationContext特性的类、Struts与JSF集成类、文件上传的支持类、Filter类和大量工具辅助类。 18. spring-webmvc-4.1.1.RELEASE.jar 包含...
api后端可以同时服务Web应用程序和Mobile应用程序。 它还实现了自动缩放功能,以在高峰时段提供更好的用户体验。 Dropbox-lite提供以下基本功能: 用户可以在网站上注册。 注册用户可以将文件上传到他/她的帐户。...