`

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+spring mvc3.0+mybaits3.0

    《Spring 3.0、Spring MVC 3.0与MyBatis 3.0整合详解》 在现代Java企业级应用开发中,Spring框架因其强大的功能和灵活性而被广泛使用。Spring 3.0作为其重要的一个版本,引入了诸多改进和新特性,提升了开发效率和...

    spring3.0 MVC Poi操作excel批量导入数据库和导出数据

    在实际开发中,我们还需要考虑性能优化、线程安全、文件上传限制等问题。对于大型数据集,可以考虑分批处理或者使用多线程来加速导入过程。此外,为了提供更好的用户体验,可以添加进度条显示、错误日志记录等功能。...

    spring3.0的API

    4. **上传文件**:提供了便捷的文件上传和下载功能。 五、其他改进 1. **JSR-303/JSR-349验证支持**:Spring 3.0集成了Bean Validation,可以对对象进行数据校验。 2. **SpEL(Spring Expression Language)**:...

    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配置...

    spring3.0MVC注解(附实例).

    标题与描述中的关键词“spring3.0MVC注解”指向了Spring框架中关于MVC架构的注解驱动功能,这是Spring3.0版本引入的重要特性之一,旨在简化Web应用程序的开发过程,使得开发者能够更加专注于业务逻辑而非框架本身。...

    spring 3.0配置示例

    在本文中,我们将深入探讨Spring 3.0框架的配置示例,特别是关于文件上传和AJAX(异步JavaScript及XML)的注解使用。Spring框架是Java领域中广泛使用的轻量级应用框架,它提供了丰富的功能来简化企业级开发。在...

    Spring3.0xMVC jar包关系

    通过对Spring3.0x MVC中的依赖关系及其JAR文件的详细介绍,我们可以看到Spring框架的强大之处在于它提供了高度模块化的设计,使开发者可以根据自己的实际需求灵活地选择和配置所需的组件和技术栈。了解这些依赖关系...

    spring3.0MVC

    另一个示例应用 imagedb 则展示了无状态 multi-action 控制器以及多段文件上传的处理,位于 samples/imagedb 目录下。 Spring 3.0 MVC 的注解支持主要依赖于 `@RequestMapping`,它可以在类级别和方法级别使用。类...

    spring3.0 全JAR包

    1. **spring-context-3.1.4.RELEASE.jar**:这是Spring的核心模块之一,提供了应用上下文(ApplicationContext)的功能。ApplicationContext是Spring中的核心接口,它提供了加载bean定义、管理bean生命周期以及提供...

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

    6. **优化**:为了提高性能,可以使用异步处理文件上传和下载,利用Spring MVC的AsyncController或者Servlet 3.0的异步处理特性。另外,对于大文件操作,可以考虑分块上传和下载。 7. **实际应用场景**:这些功能...

    Spring 3.0 API HTML格式

    8. **Web MVC的增强**:Spring MVC的改进包括支持上传文件、处理异步请求等,同时支持更多视图技术如FreeMarker、Velocity等。 9. **Groovy的支持**:Spring 3.0引入了对Groovy的支持,允许使用Groovy编写配置脚本...

    springMvc+Mybatis+spring3.0+oscache配置文件

    6. **MultipartResolver**:处理文件上传和下载功能。 **MyBatis** MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。在...

    Struts2.1+Spring3.0+JPA1.0 .pdf

    根据提供的文件信息,我们可以归纳出以下关键知识点,主要聚焦于Struts2框架的...随着实践经验的积累,开发者还可以探索更多高级特性,如类型转换、文件上传下载、防止重复提交等功能,进一步提高Web应用的质量和性能。

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

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

    springmvc3.0

    Spring MVC 3.0是Spring框架的一个重要组成部分,专门用于构建Web应用程序的模型-视图-控制器(MVC)架构。这个版本引入了许多增强功能,提高了开发效率和灵活性。结合Hibernate,一个流行的Java持久化框架,可以...

    spring mvc 上传文件显示进度

    在Spring MVC中实现文件上传并显示进度是一项常见的需求,特别是在用户需要等待较长时间的大型文件上传时。这个功能可以通过监听文件上传的进度并在前端实时更新来提升用户体验。下面将详细介绍如何利用Spring MVC...

    spring学习: spring mvc上传文件方法分析

    在Spring MVC中,文件上传是常见的功能之一,用于接收用户通过表单提交的文件数据。本文将深入探讨Spring MVC中的文件上传方法,并基于提供的“spring学习:spring mvc上传文件方法分析”标题进行详细的解析。 首先...

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

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

    struts2+spring3.0+mybatis3.0.4集成的邮件发送实例(可上传附件)

    Struts2、Spring3.0和Mybatis3.0.4是Java开发中常见的三大框架,它们各自在应用程序的不同层面提供了强大的支持。本实例将详细讲解如何在这三个框架基础上实现一个邮件发送功能,同时支持附件上传。对于Java开发者来...

Global site tag (gtag.js) - Google Analytics