gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 02:46:44 25 4
gpt4 key购买 nike

我正在尝试使用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com