Java 无法使用JSF通过浏览器导入大文件(可能与JSF的使用无关)

Java 无法使用JSF通过浏览器导入大文件(可能与JSF的使用无关),java,jsf,tomcat,file-upload,Java,Jsf,Tomcat,File Upload,我目前正在进行一个项目,通过浏览器导入CSV文件,然后将该文件中包含的数据传输到数据库中 我编写的代码对于小文件很好,但结果证明应用程序不能处理大文件(超过200MB) import.xhtml: ... <t:panelGrid columns="2" styleClass="table_layout center" columnClasses="col_label,col_input"> <t:outputLabel for="importFile" styleCl

我目前正在进行一个项目,通过浏览器导入CSV文件,然后将该文件中包含的数据传输到数据库中

我编写的代码对于小文件很好,但结果证明应用程序不能处理大文件(超过200MB)

import.xhtml:

...
<t:panelGrid columns="2" styleClass="table_layout center" columnClasses="col_label,col_input">
    <t:outputLabel for="importFile" styleClass="required" value="#{messages.import_file}" />
    <t:inputFileUpload id="importFile" value="#{imports.csv}" required="true" />

    <t:panelGroup colspan="2" styleClass="center">
        <t:commandButton action="#{imports.import}" value="#{messages.import_action_import}" disabled="#{imports.state}" reRender="pnl" />
    </t:panelGroup>
</t:panelGrid>
...
因此,当我试图上传一个小文件时,控制台显示:

Entering import()
Before running Thread
Entering run()
Before entering importService.import(InputStream)
但是当我试图上传一个大文件时,控制台完全没有显示任何内容,这意味着(我相信)没有调用
ImportBean.import()

对于这个项目,我使用Java5、JSF1.1和Tomcat5。 我猜我应该在Tomcat中配置一些东西,但我不确定

有什么想法吗

EDIT:我试图在Tomcat server.xml中将
maxPostSize
设置为0,但似乎没有任何作用。
我刚刚使用了一个数据包分析器(Wireshark),文件似乎被上传了大约一分钟,然后停止了。当它停止时,控制台上仍然没有任何内容…

尝试在
web.xml
中增加
max file size
max request size

重新启动tomcat,然后再次部署WAR文件。

如果最大文件大小和最大请求大小不起作用,问题可能是传输时间太长,超过了浏览器超时时间

我使用struts处理了一个类似的问题,解决这个问题的唯一方法是让客户端在一个zip文件中传输csv,然后我们解压缩并处理该文件


我们的导入功能还需要一段时间来处理文件,因此我们必须将用户转发到一个刷新页面,该页面定期检查导入的状态。

可能有一个最大文件大小配置。如果是这样,那么您只需将该值更改为209715200(200MB)。
Entering import()
Before running Thread
Entering run()
Before entering importService.import(InputStream)