- 浏览: 561869 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (145)
- apache-struts (3)
- apache-shiro (4)
- apache-wicket (1)
- spring (34)
- spring-data-jpa (2)
- spring-mvc (20)
- spring-security (1)
- spring-webflow (1)
- hibernate (2)
- mongodb (1)
- ibatis (5)
- mysql (4)
- 开源组件 (18)
- java (3)
- maven (7)
- jBPM (1)
- EJB (1)
- JMS (2)
- servlet / jsp (9)
- javascript / jquery (10)
- 工作技巧 (12)
- ubuntu (6)
- bootstrap (10)
- javaee (1)
- 他山石 (7)
- jetbrick (1)
最新评论
-
yubao2008:
[size=x-small]为什么我也这样试了, 就是没有生效 ...
javax.servlet.http.HttpServletResponse 得到 status_code -
chenrl:
...
SpringMVC杂记(十五) spring-mvc controller 的切面 -
LONGTENGLONG:
你好,这样配置的,得到的集合为空,是什么原因?
apache-shiro杂记(一) 统计在线用户数目 -
xiafengfeiwu:
[flash=200,200][url]引用[/url][/f ...
apache-shiro 学习笔记 -
3108493554:
你好 ,有些问题想请教下,加下我qq310849354,你这上 ...
SpringMVC杂记(十二) 自定义Interceptor从Active Directory得到域信息
SpringMVC杂记(一) 文件上传
1) 添加multipartResolver的配置
2) 由于multipartResolver采用的是CommonsMultipartResolver的实现毫无疑问 Jakarta commons fileupload组件是必须添加到
CLASSPATH下的。 另外Spring也使用了 Jakarta commons io组件。
pom.xml
3) JSP
4) RequestMapping 方法
5) 上传文件过大怎么办? 如何抓到org.springframework.web.multipart.MaxUploadSizeExceededException ?
其实这样做是不行的。 因为,test()方法还没有被执行的时候,在数据绑定阶段MaxUploadSizeExceededException的一个实例已经被抛出。
SpringMVC框架,直接在exceptionResolver的配置中去找对应的逻辑视图名。
应该把这个Controller实现为一个org.springframework.web.servlet.HandlerExceptionResolver。
1) 添加multipartResolver的配置
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="100000" /> <property name="defaultEncoding" value="UTF-8" /> </bean>
2) 由于multipartResolver采用的是CommonsMultipartResolver的实现毫无疑问 Jakarta commons fileupload组件是必须添加到
CLASSPATH下的。 另外Spring也使用了 Jakarta commons io组件。
pom.xml
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.1</version> </dependency> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.2.2</version> </dependency>
3) JSP
<%@ page language="java" %> <%@ page contentType="text/html; charset=UTF-8" %> <%@ page import="java.util.*" %> <%@ page isELIgnored="false" %> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <html> <head> <base href="<%=basePath%>" /> <title>上传测试</title> </head> <body> <form action="test/upload" method="post" enctype="multipart/form-data"> <table> <tr> <td>文件名</td> <td> <input type="text" name="fileName"> </td> </tr> <tr> <td>文件</td> <td> <input type="file" name="file"> </td> </tr> <tr> <td colspan="2"><input type="submit" value="上传"></td> </tr> </table> </form> </body> </html>
4) RequestMapping 方法
@Controller @RequestMapping(value = "/test") public class TestController { private static final File USER_FILES_DIRECTORY = new File("D:/TEST_UPLOAD/"); @ResponseBody @RequestMapping(value = "/upload", method = {RequestMethod.POST}) public String test( @RequestParam("fileName") String fileName, @RequestParam("file") CommonsMultipartFile file) throws Exception { file.getFileItem().write(new File(USER_FILES_DIRECTORY, fileName)); return "OK"; } }
5) 上传文件过大怎么办? 如何抓到org.springframework.web.multipart.MaxUploadSizeExceededException ?
@Controller @RequestMapping(value = "/test") public class TestController{ // ... @ExceptionHandler(MaxUploadSizeExceededException.class) public ModelAndView handleMaxUploadSizeExceededException(Exception ex, WebRequest request) { // TODO: 在这里处理MaxUploadSizeExceededException return null; } }
其实这样做是不行的。 因为,test()方法还没有被执行的时候,在数据绑定阶段MaxUploadSizeExceededException的一个实例已经被抛出。
SpringMVC框架,直接在exceptionResolver的配置中去找对应的逻辑视图名。
应该把这个Controller实现为一个org.springframework.web.servlet.HandlerExceptionResolver。
@Controller @RequestMapping(value = "/test") public class TestController implements HandlerExceptionResolver { private static final File USER_FILES_DIRECTORY = new File("D:/TEST_UPLOAD/"); @ResponseBody @RequestMapping(value = "/upload", method = {RequestMethod.POST}) public String test( @RequestParam("fileName") String fileName, @RequestParam("file") CommonsMultipartFile file) throws Exception { file.getFileItem().write(new File(USER_FILES_DIRECTORY, fileName)); return "OK"; } public ModelAndView resolveException(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) { if (ex instanceof MaxUploadSizeExceededException) { System.out.println("上传过大错误已经处理"); return new ModelAndView("redirect:http://www.iteye.com"); } return null; // 其他错误交由exceptionResolver处理 } }
发表评论
-
SpringMVC杂记(十八) ServletRequestAttributes的应用
2014-02-28 12:38 14204看了一下SpringMVC的源代码,原来SpringMVC也提 ... -
SpringMVC杂记(十七) HandlerMethodArgumentResolver接口应用example
2014-01-24 15:29 12192自从spring3.1 开始就有了这个接口,可以为@Reque ... -
SpringWebflow杂记(一) 框架初探,与SpringMVC的集成
2013-10-23 17:18 1708今日研究了一下SpringWebFlow这个项目,作为Spri ... -
SpringMVC杂记(十六) spring-mvc 与 openid4java
2013-10-12 15:25 3866SpringMVC杂记(十六) spring-mvc 与 op ... -
SpringMVC杂记(十五) spring-mvc controller 的切面
2013-08-01 19:42 6128SpringMVC杂记(十五) spring-mvc cont ... -
Spring集成CXF
2013-06-24 15:53 1565Spring集成CXF 零) jar依赖 <dep ... -
SpringMVC杂记(十四) Ajax方式的JSR303认证
2013-06-13 07:29 4518自己定义一个Exception,用来表示数据绑定失败 im ... -
SpringMVC杂记(十三) 使用FreeMarker作为视图层
2013-06-09 11:55 3393实在没什么好说的,直接上配置文件好了 <bean i ... -
SpringMVC杂记(十二) 自定义Interceptor从Active Directory得到域信息
2013-06-04 14:04 3197一)最近项目中要求实现Web应用的SSO(Single Sig ... -
通过spring,javamail,和freemarker集成发送HTML方式的电子邮件
2013-05-30 14:02 4869一) 现在项目中用的javamail和org.springfr ... -
SpringMVC杂记(十一) 使用Excel视图
2013-04-06 16:06 6622SpringMVC杂记(十一) 使用Excel视图 一) 其 ... -
Spring集成junit
2012-12-24 10:43 1499package junit; import org. ... -
BootstrapPlugin - daterangepicker 使用笔记
2012-11-13 12:17 21065BootstrapPlugin - daterangepick ... -
SpringMVC杂记(十) 验证码生成
2012-11-06 10:18 2777以前写过一篇关于这个的博客,现在用SpringMVC了,重写一 ... -
SpringMVC杂记(九) 模拟其他类型(非GET,POST)的请求
2012-10-22 10:49 26851) 以前一个小兄弟问我,SpringMVC是否可以使用很多浏 ... -
SpringMVC杂记(八) 使用阿里巴巴的fastjson
2012-07-21 08:27 102681) 国产开源软件要支持的 <dependency& ... -
ActiveMQ学习笔记(二) JMS与Spring
2012-06-24 10:21 7422上文可见,JMS Native API使用起来不是特别方便。好 ... -
我的SpringSecurity实践
2012-04-08 07:49 8977我的SpringSecurity实践 (一) 数据库与实体类 ... -
SpringMVC杂记(七) Jackson与Hibernate LazyLoding无法正常工作解决办法
2012-03-21 13:35 7046SpringMVC杂记(七) Jackson与Hibernat ... -
SpringMVC杂记(六) 下载文件
2012-03-21 09:04 4276SpringMVC杂记(六) 下载文件 1) jar依赖 ...
相关推荐
通过上述步骤,我们可以构建一个完整的SpringMVC文件上传系统,不仅支持单个文件的上传,还能处理多文件上传,确保文件上传过程的安全性和可靠性。在实际项目中,根据具体需求,还可以扩展更多功能,如文件预览、...
`SpringMVC`作为Java后端的一个强大框架,提供了处理文件上传的能力。而`Ajax`技术则使得页面可以在不刷新的情况下与服务器进行交互,实现异步上传,极大地提升了用户体验。在本教程中,我们将探讨如何结合`...
在这个项目中,我们使用IDEA来构建一个基于SpringMVC的系统,实现了文件的上传和下载功能。下面将详细介绍这个过程中的关键知识点。 1. **SpringMVC框架**: SpringMVC是Spring框架的一个模块,主要用于处理Web...
springMvc 文件上传,springMvc 支持单文件和多文件上传,
在这个项目"springmvc框架的文件上传 下载"中,你可能会遇到如404错误等常见问题,下面将详细介绍SpringMVC中文件上传和下载的实现及其可能遇到的问题。 **文件上传** 1. **配置**: 首先,你需要在`dispatcher-...
通过以上步骤,我们可以构建一个完整的SpringMVC文件上传系统。在实际项目中,可能还需要集成其他功能,如文件预览、下载、删除等,以满足更复杂的需求。了解并掌握这些知识点,对于提升SpringMVC应用的开发能力至关...
3. **控制器方法**:在SpringMVC的控制器类中,定义一个方法接收`MultipartFile`对象,这个对象可以用来处理上传的文件。 4. **保存文件**:在控制器方法内部,将`MultipartFile`内容保存到服务器的指定位置。 接...
SpringMVC作为Spring框架的一部分,提供了强大的支持来处理文件上传任务。本文将详细介绍如何在SpringMVC项目中实现单个文件的上传功能。 #### 二、准备工作 在开始实现文件上传功能之前,我们需要做一些准备工作,...
在SpringMVC中,文件上传通常涉及到`CommonsMultipartResolver`解析器,它是Spring提供的一个用于处理multipart请求的解析器。multipart请求是HTTP协议中用于上传文件的一种特殊类型,它可以包含多个部分,每个部分...
然后,我们需要创建一个SpringMVC的Controller来处理文件上传。在Controller类中,可以定义一个方法,使用`@RequestParam("file") MultipartFile file`注解接收上传的文件。例如: ```java @Controller @...
springMVC 上传文件方式springMVC 上传文件方式springMVC 上传文件方式
基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于springmvc实现文件上传下载 基于AOP的日志功能基于...
在SpringMVC框架中,文件的上传和下载是常见的功能需求,主要用于处理用户的数据交互,例如用户上传图片、文档等,或者系统提供文件下载服务。本文将深入探讨如何使用SpringMVC来实现这一功能。 首先,我们需要理解...
总的来说,这个项目展示了如何结合WebUploader和SpringMVC实现高效、可靠的大文件及多文件上传功能,为开发者提供了一个实用的参考示例。通过学习和理解这些知识点,开发者可以构建自己的文件上传系统,满足各种复杂...
在SpringMVC中实现文件上传是一项常见的任务,它允许用户通过表单将本地文件发送到服务器进行存储或处理。这个"SpringMVC文件上传Demo代码"是一个实例,演示了如何配置和使用SpringMVC来实现这一功能。 首先,我们...
在Web应用中,文件上传是一项常见的功能,SpringMVC作为Spring框架的一部分,提供了一种方便、灵活的方式来实现这个功能。本文将深入探讨如何利用SpringMVC实现基于Java的文件上传功能,以及在eclipse开发环境中,...
本示例是一个完整的SpringMVC文件上传的Demo,具有实用性,且经过测试有效。下面将详细介绍这个Demo的实现原理和关键知识点。 1. **文件上传组件** SpringMVC利用`CommonsMultipartResolver`来处理文件上传请求。...
在处理文件上传功能时,SpringMVC需要依赖一些特定的库,这些库通常是以jar(Java Archive)文件的形式存在的。在这个压缩包中包含的两个关键jar文件——`com.springsource.org.apache.commons.io-1.4.0.jar`和`...
这里,我们主要关注"springMVC多文件上传需要的jar"这一资源,它包含了实现这一功能所必需的Java档案(JAR)文件。 首先,Spring MVC是Spring框架的一个模块,专门处理Web应用的请求和响应。它提供了模型-视图-控制...