Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在过滤器中获取多部分表单非文件项,而不会破坏对servlet的请求_Java_Servlets_Servlet Filters_Multipart - Fatal编程技术网

Java 在过滤器中获取多部分表单非文件项,而不会破坏对servlet的请求

Java 在过滤器中获取多部分表单非文件项,而不会破坏对servlet的请求,java,servlets,servlet-filters,multipart,Java,Servlets,Servlet Filters,Multipart,是否仍然可以从过滤器中的多部分表单获取项目,同时仍保留请求,以便我仍然可以使用servlet中的Apache FileUpload来处理请求?这是可能的,但非常笨拙。功能要求是什么?为什么不使用Commons FileUpload在过滤器中对其进行一次解析,并更改servlet以检索已解析的项?举个例子,我们已经设置了很多使用FileUpload的servlet,因此如果可能的话,我宁愿修复过滤器而不是众多的servlet。好吧,从HttpServletRequestWrapper开始,您可以复

是否仍然可以从过滤器中的多部分表单获取项目,同时仍保留请求,以便我仍然可以使用servlet中的Apache FileUpload来处理请求?

这是可能的,但非常笨拙。功能要求是什么?为什么不使用Commons FileUpload在过滤器中对其进行一次解析,并更改servlet以检索已解析的项?举个例子,我们已经设置了很多使用FileUpload的servlet,因此如果可能的话,我宁愿修复过滤器而不是众多的servlet。好吧,从
HttpServletRequestWrapper
开始,您可以复制请求主体并提供它。该副本也可用于过滤器的目的。如果您允许/期望上传大文件,这可能会占用内存。您可能想看看临时磁盘解决方案。我真的更喜欢对它进行一次解析并更改所有多部分/表单数据servlet。我想这不需要更多的时间。谢谢你的主意-我会试试的,尽管我不想复制尸体,因为你提到的确切原因-记忆。没有其他方法。它只能读取一次。客户不会再重新发送了。