【问题标题】:How to process uploaded file and for data in same servlet?如何在同一个 servlet 中处理上传的文件和数据?
【发布时间】:2011-05-12 13:55:52
【问题描述】:

我正在使用 servlet 上传文件。现在,我想在同一个 servlet 中处理一些用户输入/表单数据。那可能吗?如果,它可能的手段,如何?

据我所知,doPost() 方法有一个if 条件来检查请求是否包含多部分数据,并在else 中阻止表单处理。 if & else 块如何执行?我很困惑。

有什么建议!!!

【问题讨论】:

  • 您将无法在同一请求中执行both ifelse 块。但听起来你不需要 - 如果它是一个多部分的帖子,将其作为上传处理,否则将其作为表单提交处理。
  • doPost 有你放在那里的任何陈述。什么让你困惑?如果是多部分,则处理文件,无论如何处理数据,不在其他中。此处的代码 sn-p 可能会有所帮助。
  • @khachik :我已经在使用 servlet 上传文件。现在我想在上传文件时使用同一个 servlet 处理一些表单数据。有没有可能!!
  • @Andrzej Doyle:我想同时在同一个 servlet 中做这两个。这可能吗!
  • @CS 1.6 是的,这很有可能

标签: java forms servlets file-upload


【解决方案1】:

那些if-else 块在forwhile 循环中覆盖List<FileItem>,对吗?循环只是不断重复if-else 代码,直到没有项目为止。

但我必须承认FileItem 是一个误导性名称。 MultipartItem 是一个更好的名字。

另见:

【讨论】:

    【解决方案2】:

    由于您使用的是 Servlet 3.0,您会很高兴知道它带有 异步处理。使用异步处理,调用线程来处理资源并返回到容器而不被阻塞。

    JavaWorld 上有一个很好的解释,它解释了异步处理。不知道是不是你要找的。​​p>

    【讨论】:

      猜你喜欢
      • 2017-11-20
      • 2011-05-15
      • 2014-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多