Spring1 推出的时候可以说是不小的颠覆了J2EE 的开发,彻底把EJB打败,将J2EE开发进行简化,
Spring2 推出以后完美的与多种开源框架与服务器的结合,让你对其拥抱的更紧,Spring变成了一个工具箱,一应俱全,
Spring3 推出以后让开发真正的得到简单化,并且Spring3支持REST风格,采用Spring3进行开发,简单的有点过分了。
如果说我在吹嘘,那么1行有效的代码就可以完成B/S模式的文件上传,呵呵。废话少说,先看代码:
清单1:
springmvc-servlet.xml
在springmvc-servlet.xml文件中添加以下代码:
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!– 设置上传文件大小的参数 –>
<property name="maxUploadSize" value="1000000"/>
</bean>
清单2:
web.xml
在web.xml文件中添加以下代码:
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
清单3
upload.html
建立一个普通的html文件,加入以下代码:
<form method="post" action="/SpringREST/image/imageUpload" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="submit" value="upload"/>
</form>
清单4
ImageController.java
package com.javabloger.springrest.action;
import java.io.FileOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import com.javabloger.springrest.dao.ImageDAO;
@Controller
@RequestMapping("/image")
public class ImageController {
@RequestMapping("/imageUpload")
public String processImageUpload(
@RequestParam() MultipartFile file // 关键就是这句话起了作用
) throws Exception {
if (!file.isEmpty()) {
byte[] bytes = file.getBytes();
FileOutputStream fos = new FileOutputStream("d:/upload/"+file.getOriginalFilename()); // 上传到写死的上传路径
fos.write(bytes); //写入文件
}
System.out.println ("name: "+file.getOriginalFilename()+" size: "+file.getSize() ); // 打印文件大小和文件名称
return "redirect:/image"; // 跳转你所指定的页面名称
}
}
分享到:
相关推荐
- **文件上传增强**:针对 Servlet 3 的上传功能进行了增强,改进了 MultipartResolver 的功能,使文件上传更加便捷。 - **@Valid 和 @RequestPart 注解**:通过在请求映射时添加 `@Valid` 注解,可以进行更通用的...
16.7.3 使用Spring RestTemplate测试 16.7.4 使用Selenium测试 16.8 小结 第17章 实战案例开发 17.1 论坛案例概述 17.1.1 论坛整体功能结构 17.1.2 论坛用例描述 17.1.3 主要功能流程描述 17.2 系统设计 17.2.1 技术...
在本项目中,"基于SpringBoot2.x的文件上传下载经典案例.zip" 是一个涵盖了Spring Boot 2.x框架下文件上传和下载功能的综合实践。这个案例不仅包含了基本的文件上传和下载操作,还实现了大文件的断点续传和秒传功能...
16.7.3 使用Spring RestTemplate测试 16.7.4 使用Selenium测试 16.8 小结 第17章 实战案例开发 17.1 论坛案例概述 17.1.1 论坛整体功能结构 17.1.2 论坛用例描述 17.1.3 主要功能流程描述 17.2 系统设计 17.2.1 技术...
了解DispatcherServlet的工作原理、控制器的实现(如Controller接口或@Controller注解)、视图解析器和模型数据的管理,以及如何处理表单提交和文件上传,这些都是Web开发的基础。 5. **Struts集成**:虽然Spring ...
在Springboot中,我们可以使用MultipartFile接口处理文件上传。用户通过前端提交表单,后端接收到请求后,将文件存储到服务器的指定位置。需要注意文件的大小限制、文件类型的检查以及错误处理。 3. **文件下载**...
基于SpringBoot的文件上传系统,前后端分离,单文件上传,多文件上传,大文件上传,断点续传,文件秒传,图片上传 项目经过严格测试,确保可以运行! 采用前后端分离的方式进行开发,实现了几种常用的文件上传功能...
- 文件上传和下载的处理。 这些章节的源代码提供了实践性的示例,有助于读者理解Spring框架如何在实际项目中工作,加深对Spring核心功能的理解。通过学习这些代码,开发者可以更好地掌握Spring的使用,提高开发...
本资源基于 SpringBoot2.x + MyBatisPlus + MySQL + Shiro+ Layui 等搭配七牛云,阿里云OSS实现的云存储管理系统。包含文件上传、删除、预览、云资源列表查询、下载、文件移动、重命名、目录管理、登录、注册、以及...
- **文件上传**:内置了文件上传的支持,简化了文件上传的复杂度。 - **RESTful支持**:从Spring 3.0开始,通过`@Controller`和`@RequestMapping`等注解,可以轻松地创建RESTful风格的应用程序和服务。 #### 四、...
基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba并采用前后端分离的企业级微服务多租户系统架构。并引入组件化的思想实现高内聚低耦合,项目代码简洁注释丰富上手容易,适合学习和企业中使用。真正实现了基于...
陈开雄 Spring+3.x企业应用开发实战光盘源码 !!!!压缩包的jar包太多,太大无法上传,请谅解,需要的可以联系我 QQ:349721489 第1章:对Spring框架进行宏观性的概述,力图使读者建立起对Spring整体性的认识。 ...
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全栈开发),有任何使用问题欢迎随时与我联系,我会及时为您解惑,...
SpringBoot 1.x 版本是 SpringBoot 的早期版本,它为开发者提供了快速构建和运行基于 Spring 应用程序的能力。这个"demo1.zip"压缩包文件是一个使用 SpringBoot 1.x 创建的示例项目,旨在展示如何在 TongWeb 应用...
这个jar文件包含Web应用开发时,用到Spring框架时所需的核心类,包括自动载入WebApplicationContext特性的类、Struts与JSF集成类、文件上传的支持类、Filter类和大量工具辅助类。 (12) spring-webmvc.jar 这个...
12.2.4. 不使用回调的基于Spring的DAO实现 12.2.5. 基于Hibernate3的原生API实现DAO 12.2.6. 编程式的事务划分 12.2.7. 声明式的事务划分 12.2.8. 事务管理策略 12.2.9. 容器资源 vs 本地资源 12.2.10. 在应用服务器...
【标题】:“管理系统系列--基于layui2.x的带后台的通用管理系统.zip”是一个包含全面的管理系统的源码压缩包,该系统是建立在layui2.x框架基础上,具有后台功能的通用解决方案。 【描述】:这个管理系统是专为提高...
综上所述,这个压缩包包含了SSM整合所需的特定版本的jar包,旨在为基于Java 1.8和Spring 4.x的项目提供便利。开发者在使用时,应根据项目需求正确配置和集成这些框架,以实现高效、可维护的Web应用。
在文件上传和下载功能上,Spring MVC提供了MultipartFile接口,使得处理文件上传变得简单。同时,Spring的IoC容器能够管理临时目录和文件资源,方便文件下载操作。 综上所述,Spring 4.3.7及以上的jar包包含了...