Java 如何使用struts 2上传大文件?

Java 如何使用struts 2上传大文件?,java,tomcat,file-upload,struts2,gradle,Java,Tomcat,File Upload,Struts2,Gradle,我想用struts2和fileupload开发一个带有文件上传机制的web应用程序,它的行为很奇怪,我不知道为什么 我在struts.xml中配置了文件上传机制: <package name="com.actions" namespace="/" extends="struts-default"> <action name="excelupload" class="com.actions.FileuploadAction"> <interceptor-ref

我想用
struts2
fileupload
开发一个带有文件上传机制的web应用程序,它的行为很奇怪,我不知道为什么

我在struts.xml中配置了文件上传机制:

<package name="com.actions" namespace="/" extends="struts-default">
<action name="excelupload" class="com.actions.FileuploadAction">
    <interceptor-ref name="fileUpload">
            <param name="maximumSize">10000000</param>
    </interceptor-ref> 
        <result name="success">/fileupload.jsp</result>
        <result name="input">/fileupload.jsp</result>

    </action>
</package>
当我上传一个小文件时,一切正常。但当我尝试上载大于2MB的文件时,应用程序会引发以下异常:

org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException: the request
was rejected because its size (3244109) exceeds the configured maximum (2097152)
为了解决这个问题,我尝试使用添加一个
struts default.properties

struts.multipart.maxSize=20097152
应用程序类路径的根目录

这修复了异常,但现在无论文件有多大,
excelfile
始终为
null

有人知道我做错了什么吗

编辑:对于部署,我使用Tomcat
编辑:添加了缺少的getter和setter方法。

我可以通过删除

<interceptor-ref name="fileUpload">
        <param name="maximumSize">10000000</param>
</interceptor-ref>

10000000

struts.xml

检查您正在使用的服务器的最大文件上载大小限制。我已经在struts.xml中尝试过了。您的
文件excelFile
是否有getter和setter?是的,由eclipse自动构造。您可能需要在操作中设置文件的mime类型。浏览此链接,希望对您有所帮助。
struts.multipart.maxSize=20097152
<interceptor-ref name="fileUpload">
        <param name="maximumSize">10000000</param>
</interceptor-ref>