`

spring3.0 之 mvc文件上传

阅读更多
    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"; //返回失败视图
  }
}
}
分享到:
评论

相关推荐

    spring3.0_mvc框架_06_上传的实现.flv

    基于spring 3.0mvc 框架的文件上传实现 1. spring使用了apache-commons下得上传组件,因此,我们需要引入两个jar包: 1. apache-commons-fileupload.jar 2. apache-commons-io.jar 2. 在springmvc-servlet.xml配置...

    J2EE spring mvc mybatis bootstrap HTML5 后台框架 控制台 mysql版本_spring3.0

    【源码】mysql版本_spring3.0 系统模块 1. 组织管理:角色管理,分角色组和成员,有组权限和成员权限。 2. 系统用户:对各个基本的组会员增删改查,单发、群发邮件短信,导入导出excel表格,批量删除 3. 会员管理:...

    J2EE spring mvc mybatis bootstrap HTML5 后台框架 控制台 oracle版本_spring3.0

    【源码】oracle版本_spring3.0 系统模块 1. 组织管理:角色管理,分角色组和成员,有组权限和成员权限。 2. 系统用户:对各个基本的组会员增删改查,单发、群发邮件短信,导入导出excel表格,批量删除 3. 会员管理:...

    Spring MVC配置文档及原理介绍

    基于spring2.5的采用XML配置的spring MVC项目 基于spring2.5注解实现的spring MVC项目 基于spring 3.0项目开发实例 基于spring 3.0mvc 框架的文件上传实现 Spring中的拦截器

    spring mvc 3.2 参考文档

    DispatcherServlet 设计的,并分发请求到处理程序(handler),Spring MVC支持可配置的处理程序映射(handler mapping),视图解析(view resolution)、 区域设置(locale)和主题解析(theme resolution),以及文件上传等...

    Spring_MVC_051:Spring MVC 学习总结(五)——校验与文件上传

    Spring MVC 学习总结(五)——校验与文件上传 目录 2.2.7、范围 2.2.8、其它注解 2.3、注解控制器参数 1.4、在UI中添加错误标签 1.5、测试运行 三、使用jQuery扩展插件Validate实现前端校验 3.1、jQuery扩展插件...

    Spring技术内幕:深入解析Spring架构与设计原理

     国内第一本基于spring3.0的著作,从源代码的角度对spring的内核和各个主要功能模块的架构、设计和实现原理进行了深入剖析。你不仅能从木书中参透spring框架的优秀架构和设计思想,而且还能从spring优雅的实现源码...

    陈开雄 Spring+3.x企业应用开发实战光盘源码.zip

     第15章:对Spring MVC框架进行详细介绍,对REST风格编程方式进行重点讲解,同时还对Spring 3.0的校验和格式化框架如果和Spring MVC整合进行讲解。  第16章:有别于一般书籍的单元测试内容,本书以当前最具实战的...

    springboot学习思维笔记.xmind

    文件上传配置 自定义HttpMessageConverter MappingJackson2HttpMessageConverter StringHttpMessageConverter 服务器端推送技术 SSE Servlet3.0+异步方法处理 Spring MVC的测试 ...

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

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...

    java_jsp项目源码_OA办公自动化管理系统(Struts1.2+Hibernate3.0+Spring2+DWR).rar

    OA办公自动化管理系统是一款基于Struts1.2、Hibernate3.0、Spring2和DWR的综合性企业级应用解决方案,旨在帮助企业实现高效、便捷的办公管理。该系统具备以下功能: 1. 用户管理:支持用户注册、登录、权限分配、...

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

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...

    Springboot开发的毕设项目导师管理系统(源码+数据库文件)

    视图框架:Spring MVC ORM框架:MyBatis 数据库连接池:Druid 1.1 安全框架:Apache Shiro 1.4 前端框架:jQury,bootStrap 访问地址及用户密码 启动项目,在浏览器中访问,http://localhost:8080 账号密码: - ...

    国产java类cms v3.0.161109.zip

    底层是Java,数据库是Mysql,开发框架是spring MVC,数据库层是MyBatis,后端用到的都是很大众化的。前端主要用到或参考了ueditor、layui、artTemplate、pintuer、ligerUI、iconfont、Ztree等,前端综合要求更高。 ...

    webx3框架指南PDF教程附学习Demo

    Webx 3.0和Spring MVC一样, 完全建立在Spring框架之上,故可运用Spring的所有特性。 • 扩展性 —— Webx 3.0对Spring做了扩展,使Spring Bean不再是“bean”,而是升级成“组件”。一个组件可以扩展另一个组件,也...

    基于springboot的设备管理系统+源代码+文档说明

    - 视图框架:Spring MVC 5.0 - 持久层框架:MyBatis 3.3 - 定时器:Quartz 2.3 - 数据库连接池:Druid 1.1 - 日志管理:SLF4J 1.7、Log4j - 页面交互:Vue2.x **软件需求** - JDK1.8 - MySQL5.5+ - Maven...

    springboot-demo:一个简单的SpringBootDemo基于SpringBoot2.0.3搭建

    主要是基于SpringBoot2.0.3主要的功能数据持久化MySQL数据库主要集成Hibernate,一个简单的User类测试配置Redis数据库配置Redis,主要配置了RedisTample文件上传文件上传,用于文件的上传以及异常处理基于MVC模型...

    单点登录源码

    SpringMVC | MVC框架 | [http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc](http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc) ...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    由于J2EE的开源的框架中提供了MVC模式实现框架Struts、对象关系模型中的Hibernate 的框架及拥有事务管理和依赖注入的Spring。利用现存框架可以更快开发系统。所以选择Java技术作为blog 的开发工具。 为了增加系统的...

Global site tag (gtag.js) - Google Analytics