org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException:
一:今天在使用struts2做文件上传时出现了该异常:
警告: Unable to parse request
org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (5897994) exceeds the configured maximum (2097152)at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.<init>(FileUploadBase.java:937)at org.apache.commons.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:331)at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:351)at org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest.parseRequest(JakartaMultiPartRequest.java:151)at org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest.processUpload(JakartaMultiPartRequest.java:90)at org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest.parse(JakartaMultiPartRequest.java:80)at org.apache.struts2.dispatcher.multipart.MultiPartRequestWrapper.<init>(MultiPartRequestWrapper.java:75)at org.apache.struts2.dispatcher.Dispatcher.wrapRequest(Dispatcher.java:753)at org.apache.struts2.dispatcher.ng.PrepareOperations.wrapRequest(PrepareOperations.java:140)at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:83)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)at java.lang.Thread.run(Unknown Source)
2014-7-31 22:53:04 com.opensymphony.xwork2.util.logging.commons.CommonsLogger warn
警告: the request was rejected because its size (5897994) exceeds the configured maximum (2097152)
为什么会出现这个错误?
查看struts.properties中有这么一句struts.multipart.parser=Jakarta,实际上这一句也可以不写因为这是struts2为了支持文件上传默认的。那么这个Jakarta到底是什么东西呢?实际上Jakarta实际上就是org.apache.struts2.dispatcher.multipart.JakartaMultiPartRequest类。打开JakartaMultiPartRequest.java的源代码你会发现这个类实现了MultiPartRequest接口,在这个类封装了对底层ServletFileUpload的操作,由于common-fileupload组件默认最大支持上传文件的大小为2M,当我们上传大于2M的文件时,就会出现上面的异常。是这个异常的发生导致了fileUpload拦截器没有机会执行,所以看到的是页面没有任何变化,也没有任何提示信息,只是在控制台打印出了上面的异常。解决的办法在struts.properties文件中把struts.multipart.maxSize设置成一个比较大的值,也是就说maxSize远远要大于可能上传文件的大小和fileUpload拦截器中maxinumSize的值。 如可以配置:struts.multipart.maxSize=10000000 即可。
默认的在struts中的default.properties中有这句话:struts.multipart.maxSize=2097152 将上传文件限制为2MB
我的配置是:在struts.xml中加入<constant name="struts.multipart.maxSize" value="524288000" />将默认的上传文件最大值变成500MB
Web容器启动的时候加载文件的时候先加载default.properties,然后再加载struts.xml配置文件。
org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException:相关推荐
- Java 文件上传组件 Apache Commons FileUpload 应用指南(二)——FileUpload如何工作?
在最初的 http 协议中,没有上传文件方面的功能.RFC1867("Form-based File Upload in HTML".) 为 http 协议添加了这个功能.客户端的 ...
- Apache Commons Fileupload 漏洞,可恶意操作文件
点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | spoock 来源 | https://tinyurl.com/y34djpar ...
- Apache Commons fileUpload实现文件上传
Apache的commons-fileupload.jar可方便的实现文件的上传功能,本文通过实例来介绍如何使用commons-fileupload.jar. @author:ZJ 07-2-22 B ...
- Spring MVC-09循序渐进之文件上传(基于Apache Commons FileUpload)
概述 客户端编程 MultipartFile接口 利用Commons FileUpload上传文件 Domain类 控制器 配置文件 JSP页面 部署及测试 源码 概述 Servlet出现之前,文件上 ...
- Java Web——文件上传(Apache Commons FileUpload实现上传图片DEMO)
基本概念 Apache Commons FileUpload :Apache Commons FileUpload组件提供了一种简单而灵活的方法,可以将对多部分文件上传功能的支持添加到Servlet和 ...
- 【报错笔记】使用MultipartFile 出现异常:java.lang.ClassNotFoundException: org.apache.commons.fileupload...
使用MultipartFile出现异常:java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItemFactory ...
- 文件上传之Apache commons fileupload使用
文件上传的方法主要目前有两个常用的,一个是SmartUpload,一个是Apache的Commons fileupload. 我们这里主要介绍下第二个的用法,首先要上传文件,注意几个问题: 1 for ...
- fckeditor异常总结---org.apache.commons.fileupload.FileUploadException
a.java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileUploadException ...
- org.apache.commons.fileupload.DiskFileUpload使用上
1.setSizeMax方法 setSizeMax方法用于设置请求消息实体内容的最大允许大小,以防止客户端故意通过上传特大的文件来塞满服务器端的存储空间,单位为字节. 2.setSizeThresho ...
最新文章
- MIT学神、「太极」作者胡渊鸣送你一门计算机图形学课程
- Python 正在从简明转向臃肿,从实用转向媚俗
- shell脚本的执行方式及区别
- php能力模型,ThinkPHP5--基础篇(模型)
- C# winform post请求数据
- 基于QGIS初探PostgreSQL的PostGIS插件,包括YUM和编译安装PostGIS
- python引入模块教程_python进阶教程之模块(module)介绍
- 什么是全兼容?DVD主流格式全面解析
- Failed to connect to bitbucket.org port 443: Operation timed out
- spark 查看 job history 日志
- Web全栈工程师应该会什么
- 最新版计算机应用基础,计算机应用基础课件(最新版)
- bash+vasp+vaspkit能量应变计算弹性常数
- UVM糖果爱好者教程 - 22. Phasing
- html5辨别音高,音理知识基础:音高和时值
- 关于ONVIF协议你不得不知的6个常见问题
- org.hibernate.hql.internal.ast.QuerySyntaxException错误原因
- 时间序列分析之AR、MA、ARMA、ARIMA详解(1)
- 微信小程序:税改计算器,1秒计算税改前后你能多拿多少工资。
- CorelDraw应该怎么样才能学好描图技巧看看这个就能懂
热门文章
- kill 进程_结束进程,查看后台进程
- threejs向量夹角和夹角方向
- zookeeper 密码_阿里资深JAVA架构带你深度剖析dubbo和zookeeper关系
- esxi usb插口_酷暑大作战 | USB-C风扇新体验
- java map 实现 序列化,MapReduce序列化
- post postman 传递数组对象_如何使用postman做接口测试
- android电梯程序设计,课内资源 - 基于Android实现的电梯调度模拟
- python免费学校_清华大学,的python学习路线,免费分享给小白福利
- python开发应用程序错误_Python 程序员经常犯的 10 个错误
- 【转】深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第三节 栈与堆,值类型与引用类型