java - HttpServletRequest#getPart 不存在?

标签 java maven jsp servlets

我有一个 Java WebApp,我需要在其中上传文件。根据我在互联网上找到的内容,我尝试过以下方法:

public class FileUploadController extends HttpServlet {
    private final String UPLOAD_DIRECTORY = "C:/uploads";

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        Part filePart = request.getPart("file");
    }

但是,IDE 提示 undefined symbol getPart。所以我继续下去,发现你至少需要Servlet API 3.0才能获得这个方法,而我的项目只有Servlet API 2.5。我将 pom.xml 文件中所需的 API 版本从 2.5 更改为 3.0-alpha-1 (这是由自动完成功能提出的) ),并清理构建项目。

但我仍然有关于 getPart 不存在的错误。我错过了什么吗?

最佳答案

在 Servlet API 3.0 版本的开发过程中, Artifact ID 已更改为 javax.servlet-api。版本 3.0-alpha-1 是一个非常早期的预发布版本,可能还没有 getPart(String) 方法。

要获取 Servlet API 的当前 3.0.x 版本,请使用以下依赖项:

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.0.1</version>
</dependency>

关于java - HttpServletRequest#getPart 不存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37840091/

相关文章:

java - 使用 Mockitos 进行单元测试未按预期工作

java - 如何使用 Tika 的 XWPFWordExtractorDecorator 类?

java - Unity 项目中的错误 : No resource found that matches the given name (at 'icon' with value '@drawable/ic_launcher' )

jakarta-ee - apache commons beanutils 的 Maven repo

java - 使用 Java Spring 和 SSL 访问本地主机 URL

java - 在 run() 中,如何在应用程序不崩溃的情况下调用方法 (Java/Android)?

maven - 无法禁用生成空 JAR (maven-jar-plugin)

maven - 如何跳过 maven repo 中的版本或特定模块

java - 如何将 JSTL 标记的返回值返回到 EL 语句中?

java - ClassNotFoundException : org. eclipse.swt.widgets.Display