HttpServletRequest#getPart不存在?

时间:2016-06-15 15:46:01

标签: 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抱怨未定义的符号getPart。所以我继续发现你至少需要Servlet API 3.0来获得这个方法,而我的项目只有Servlet API 2.5。我将pom.xml文件中所需的API版本从2.5更改为3.0-alpha-1(由自动完成提议),并清理了项目。

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

1 个答案:

答案 0 :(得分:4)

在开发3.0版本的Servlet API期间,工件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>