java - Servlet 3.1 - 部件 - 方法 getParts() 未解决

标签 java file servlets methods undefined

我正在尝试使用 getParts() from import javax.servlet.http.Part; 但它告诉我“无法解析方法‘getParts()’

package connec;

import java.io.IOException;
import java.util.Collection;
import java.util.List;
import java.util.LinkedList;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import com.entJa.sd.FileMeta;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.Part;

(...)

public class MultipartRequestHandler {
    public static List<FileMeta> uploadByJavaServletAPI(HttpServletRequest request) throws IOException, ServletException {

    List<FileMeta> files = new LinkedList<FileMeta>();

    Collection<Part> parts = request.getParts();
    (...)

知道为什么找不到这个方法吗?我知道它带有 servlet 3.0,但我使用的是 3.1,甚至尝试下载 4.0(未完成的版本)。

Error:(29, 41) java: cannot find symbol
  symbol:   method getParts()
  location: variable request of type javax.servlet.http.HttpServletRequest

最佳答案

我正在使用 Intellij IDEA,因此我获得了默认的 jar 库 - 包含 JavaEE-API-5。我下载了 javaee-api-7.0.jar(带有 Maven),现在它可以工作了!

准确地说,发生的事情是:Java EE 5 包含 Servlet API 2.5,它没有 getParts() 方法,因为它仅在 Servlet API 3.0 中添加 - 另一方面,Java EE 7 包含 Servlet API 3.1。

关于java - Servlet 3.1 - 部件 - 方法 getParts() 未解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40020465/

相关文章:

java - 如何从 CSV 文件中读取可读内容?

c - 仅用一个替换文件中的多个新行

java - 测量 Servlet 的总网络传输时间

java - 如何在不同端口后面的单个 JBoss AS 6 实例上运行不同的应用程序?

java - 在矩阵中查找其元素总和为给定数字的路径

java - !FILTER 是什么意思?

java - Php VS Java 同时上传多个文件

java - Restful 服务参数不匹配异常

java - 当列表大小小于页面偏移量时,如何使用 subList 将对象列表转换为页面?

java - Eclipse 报告正确代码的 HTML 警告(正如我假设的那样)