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配置文件。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/443530.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/443530.shtml
英文地址,請注明出處:http://en.pswp.cn/news/443530.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux天氣軟件,類似智能手機!Linux中安裝Conky天氣插件

如今&#xff0c;智能手機中很多都安裝相匹配外觀的天氣小插件&#xff0c;而對于喜歡操作系統平臺的用戶而言&#xff0c;可以在你的Linux桌面中擁有像智能手機一樣的天氣外觀。通過Flair Weather Conky可以將使用一個GUI工具Conky Manager在Linux中輕松地管理Conky。這里介紹…

linux go 安裝路徑,在Alpine Linux D的路徑中找不到已安裝的Go二進制文件

我有一個Go二進制文件&#xff0c;試圖在Alpine Docker映像上運行。這對于Docker Go二進制文件很好用。docker run -it alpine:3.3 shapk add --no-cache curlDOCKER_BUCKETget.docker.comDOCKER_VERSION1.9.1curl -fSL "https://${DOCKER_BUCKET}/builds/Linux/x86_64/do…

linux安裝下載中文包,linux下安裝中文包和字體

在虛擬機中使用中文輸入法和中文顯示使用的是rhel5的鏡像我把其鏡像掛載在/mnt/cdrom中&#xff0c;然后切換到/Server目錄下&#xff0c;安裝支持中文字體Mount /dev/cdrom /mnt/cdromCd /mnt/cdrom/serverrpm -ivh fonts-chinese-3.02-9.6.el5.noarch.rpmrpm -ivh fonts-ISO8…

Java-Jdbc,JDBC連接Oracle11g實例:

很長時間沒用Oracle數據庫了&#xff0c;今天在公司的電腦上裝了一個Oracle11g&#xff0c;安裝完成后&#xff0c;順便寫了個簡單的Jdbc連接Oracle的例子&#xff0c;現在記錄一下&#xff0c;方便以后查看&#xff1a; 例子很簡單&#xff0c;直接上代碼&#xff1a; (注意&…

linux無桌面重做系統,Linux不需要重做系統

感謝hsyyf的投遞但從系統構架上來講&#xff0c;總所周知&#xff0c;Linux的穩定性遠大于windows&#xff0c;單純的使用不會引起系統的損壞。當不進行危險操作時&#xff0c;例如執行sudo rm-rf/*之類的命令&#xff0c;或者混用分區工具&#xff0c;是不會引起各種徹底性損壞…

linux遠程連接工具putty使用方法,linux遠程登陸工具putty使用

#putty工具百度下載即可&#xff0c;最好從官網下。安裝時&#xff0c;除安裝位置外&#xff0c;其余默認即可。1、使用命令ifconfig命令&#xff0c;記下eth0的IP&#xff0c;我的是192.168.1.1692、打開putty&#xff0c;并將查到的ip寫在圖中位置&#xff0c;下側的Saved Se…

linux來源usb驅動在哪下載,Linux USB驅動程序基礎

非常好的linux驅動入門,介紹詳盡Linux USB驅動程序基礎來源: ChinaUnix博客日期&#xff1a;2008.04.10 23:55(共有條評論) 我要評論(Linux USB Driver BasicsIntroductionDrivers are software components that operating systems use to providehardware specific services t…

linux中ss實現原理,ss 詳解

ss用來顯示處于活動狀態的套接字信息。ss命令可以用來獲取socket統計信息&#xff0c;它可以顯示和netstat(參考https://www.jianshu.com/p/7630474c39b1)類似的內容。但ss的優勢在于它能夠顯示更多更詳細的有關TCP和連接狀態的信息&#xff0c;而且比netstat更快速更高效。當服…

Hibernate3.X實現基于CLOB字段類型的注解方式:

一&#xff1a;Hibernate3.X實現基于CLOB字段類型的注解方式的例子&#xff1a;下面直接上代碼&#xff1a; 二&#xff1a;UserInfo.java package cn.gov.csrc.cms.model;import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity;…

linux mint安裝步驟,Linux mint 安裝步驟

##Linux mint 安裝步驟##家里的筆記本以前一直用Deepin系統&#xff0c;但是Deepin系統的wifi實在是太慢了。還有就是啟動軟件是有時候總沒響應&#xff0c;卡死機。 最近重裝系統&#xff0c;選擇了mint ,在這里記錄下安裝步驟。###1.制作U盤啟動盤###下載iso文件&#xff0c;…

linux 商業游戲,Ubuntu下安裝試玩原生Linux版商業游戲Braid

這款原生Linux版商業游戲Braid國外出售價大約在80美元左右。每年在Linux平臺上發布的原生商業游戲是屈指可數&#xff0c;而且這些游戲的質量也是參差不齊。不過這款原生Linux版商業游戲Braid還是值得一玩的&#xff0c;這款Braid游戲創意十足&#xff0c;您可以通過拼圖和時間…

linux centos 7 crontab 啟動,CentOS 7 Linux執行crontab 計劃任務實操 - 好應網

[inlosc_lg_title]一、環境準備[/inlosc_lg_title]yum install vixie-cron #安裝定時任務插件yum install crontabs #安裝定時任務crontabs/bin/systemctl restart crond.service #啟動服務/bin/systemctl reload crond.service #重新載入配置/bin/systemctl status crond.serv…

變量的初始化與使用C語言程序注釋,c - (為什么)使用未初始化的變量未定義行為?...

C標準為編譯器提供了很大的優勢來執行優化。 如果您假設一個簡單的程序模型&#xff0c;其中未初始化的內存被設置為某個隨機位模式&#xff0c;并且所有操作都按照它們的寫入順序執行&#xff0c;那么這些優化的后果可能會令人驚訝。注意&#xff1a;以下示例僅有效&#xff0…

三羊獻瑞c語言編程入門,藍橋杯-三羊獻瑞,

藍橋杯-三羊獻瑞&#xff0c;更多精彩文章請關注公眾號『大海的BLOG』問題觀察下面的加法算式&#xff1a;祥 瑞 生 輝 三 羊 獻 瑞----------------三 羊 生 瑞 氣其中&#xff0c;相同的漢字代表相同的數字&#xff0c;不同的漢字代表不同的數字&#xff0c;‘三’和‘祥’不…

Struts2.3接收post方式提交的表單參數的方式

一&#xff1a;方式一&#xff1a;通過request來獲取&#xff0c;首先讓action實現ServletRequestAware接口&#xff0c;然后通過request來獲取提交的參數&#xff0c;代碼如下: package cn.gov.csrc.flight.action;import java.util.HashMap; import java.util.List; import j…

倒果汁c語言,水果榨汁補維生素C?這些補維生素的錯誤別再犯了

原標題&#xff1a;水果榨汁補維生素C&#xff1f;這些補維生素的錯誤別再犯了蔬菜和水果作為維生素C、礦物質和植物纖維的重要來源&#xff0c;是每天餐桌上都要出現的食物&#xff0c;一旦水果蔬菜吃不夠&#xff0c;身體就會開始找你麻煩。在處理蔬菜水果的時候&#xff0c;…

dos和linux有關系嗎,DOS和Linux近年來的發展比較

大家都聽說過Linux操作系統吧&#xff01;Linux誕生于20世紀的90年代初&#xff0c;于90年代末開始出名并在許多人中開始了實際使用。著名的“開放源代碼”運動更是使新的Linux程序不斷出現&#xff0c;使Linux得到了進一步的發展&#xff0c;尤其是在服務器領域得到了較大的應…

c語言中二維數組的結構體,怎么才能把結構體里面的二維數組打印出來?

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓萌新一位&#xff0c;學到結構體在做作業&#xff0c;遇到了這個問題。求提示出現這樣的報錯&#xff1a;[Error] cannot convert char (*)[20] to char* for argument 5 to void HeroShow(int, int, char*, char*, char*, char*)#…

android中資源文件的兩種訪問方式,Android_Android學習筆記-保存文件(Saving Files),Android設備有兩種文件存儲區域 - phpStudy...

Android學習筆記-保存文件(Saving Files)Android設備有兩種文件存儲區域:內部存儲和外部存儲 ("internal" and "external" storage)。這名字來自早期Android&#xff0c;那時大多數Android設備提供兩種存儲方式:內置的非易失的內存(內部存儲)和可移動的存儲…

Struts2.3,s:iterator,c:forEach遍歷map中的list集合

一&#xff1a;首先是<s:iterator></s:iterator>遍歷map中的list集合&#xff0c;代碼如下&#xff1a; 1.首先是后臺代碼&#xff0c;包括定義map和給map中賦值&#xff0c;代碼如下&#xff1a; package cn.gov.csrc.cms.action;import java.util.HashMap; impo…