Java 文件上载代码出错

Java 文件上载代码出错,java,file,jsp,tomcat,file-upload,Java,File,Jsp,Tomcat,File Upload,文件上载代码的jsp页面中出现以下错误: FileUploadBase类型中的方法parseRequest(RequestContext)不适用于参数(HttpServletRequest) 代码中的错误: List<FileItem> items = uploadHandler.parseRequest(request); List items=uploadHandler.parseRequest(请求); 期望RequestContext实例作为参数,但传递的参数是HttpSe

文件上载代码的jsp页面中出现以下错误:

FileUploadBase类型中的方法parseRequest(RequestContext)不适用于参数(HttpServletRequest)

代码中的错误:

List<FileItem> items = uploadHandler.parseRequest(request);
List items=uploadHandler.parseRequest(请求);
期望
RequestContext
实例作为参数,但传递的参数是
HttpServletRequest的实例

用于创建一个
RequestContext
实例,如下所示

List<FileItem> items = uploadHandler.parseRequest(new ServletRequestContext(request));
List items=uploadHandler.parseRequest(新的ServletRequestContext(请求));
期望
RequestContext
实例作为参数,但传递的参数是
HttpServletRequest的实例

用于创建一个
RequestContext
实例,如下所示

List<FileItem> items = uploadHandler.parseRequest(new ServletRequestContext(request));
List items=uploadHandler.parseRequest(新的ServletRequestContext(请求));

我也遇到了同样的问题,然后发现我的导入错误:最后一个导入使用的是
fileupload
来自
sun
,而不是
commons.fileupload
。在我将它们全部更改为
commons.fileupload
后,错误消失了:

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.fileupload.servlet.ServletRequestContext;

我也遇到了同样的问题,然后发现我的导入错误:最后一个导入使用的是来自
sun
fileupload
,而不是来自
commons.fileupload
。在我将它们全部更改为
commons.fileupload
后,错误消失了:

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.fileupload.servlet.ServletRequestContext;

上面的回答很好,但是如果您升级到tomcat10,命名从javax更改为jakarta,那么从1.4版开始的commons fileupload还没有更改命名,但是您可以改为tomcat10中的自定义类!(我真幸运)


上面的回答很好,但是如果您升级到tomcat10,命名从javax更改为jakarta,那么从1.4版开始的commons fileupload还没有更改命名,但是您可以改为tomcat10中的自定义类!(我真幸运)

FileUploadBase类型中的方法parseRequest(RequestContext)不适用于参数(HttpServletRequest)…这是编译时的错误消息FileUploadBase类型中的方法parseRequest(RequestContext)不适用于参数(HttpServletRequest)…这是编译时的错误消息