Javascript HttpServlet的getPart(字符串)未定义

Javascript HttpServlet的getPart(字符串)未定义,javascript,jsp,servlets,file-upload,request,Javascript,Jsp,Servlets,File Upload,Request,html代码: <td>Select File : </td> <td><input name="file" type="file"/> </td> </tr> <tr> <td>Enter Filename : </td> <td><

html代码:

                <td>Select File : </td>
            <td><input  name="file" type="file"/> </td>
        </tr>
        <tr>
            <td>Enter Filename : </td>
            <td><input type="text" name="photoname" size="20"/> </td>
        </tr>
但在以下几点上,我得到了错误: 1.第p1部分=request.getPart(“文件”);
2.第p2部分=request.getPart(“photoname”)

在HttpServletRequest中,getPart没有在JavaEE5中实现。您至少需要JavaEE6。您可能需要升级servlet容器

比较 与

(例如,如果安装了Tomcat 5,请升级到Tomcat 7或8。)


或者只使用apachecommons文件上传。要了解如何做到这一点,请参阅

我指的是服务器。例如Tomcat、Jetty等。servlet容器的版本决定了您安装的JavaEE的版本。是的,即使您使用的是Spring,EE仍然安装。否则,请求对象将无法工作。显然,它会这样做。我想问的是,有没有其他方法可以做到这一点?这意味着如果我们可以用其他东西替换路径p1=getPath(),并且目前我正在使用Tomcat7处理多部分/表单数据,那么您可以使用Apache commons文件上载库。Spring在ApacheCommons文件上传的基础上也有自己的构建方式,我也一直在尝试,但代码中也存在问题。对于列表字段=upload.parseRequest(请求),此错误会弹出“类型列表不是泛型的;不能使用参数对其进行参数化”;
Part p1 =  request.getPart("file"); //1
InputStream is = p1.getInputStream();

Part p2  = request.getPart("photoname");//2
Scanner s = new Scanner(p2.getInputStream());
String filename = s.nextLine();