我有一个 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/