【问题标题】:getPart(String) is undefined for HttpServletHttpServlet 未定义 getPart(String)
【发布时间】:2013-12-21 16:29:46
【问题描述】:

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>

servlet 代码:

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();   

但在以下几点我遇到了错误: 1.Part p1 = request.getPart("文件"); 2.Part p2 = request.getPart("照片名");

【问题讨论】:

    标签: javascript jsp servlets file-upload request


    【解决方案1】:

    在 HttpServletRequest 中,getPart 未在 Java EE 5 中实现。您至少需要 Java EE 6。您可能需要升级 servlet 容器。

    比较http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServletRequest.html http://docs.oracle.com/javaee/6/api/javax/servlet/http/HttpServletRequest.html

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

    或者只使用 Apache Commons File Upload。要了解如何执行此操作,请参阅 How to upload files to server using JSP/Servlet?

    【讨论】:

    • 我说的是服务器。 IE。 Tomcat、Jetty 等。servlet 容器的版本决定了您安装的 Java EE 的版本。是的,即使您使用的是 Spring,仍然安装了 EE。否则请求对象将无法工作。
    • 显然是它。我正在寻找的是有没有其他方法可以做到这一点?表示我们是否可以用其他东西替换 Path p1 = getPath()。
    • 目前正在使用tomcat7
    • 要处理多部分/表单数据,您可以使用 Apache commons 文件上传库。 Spring 也有自己的方式构建在 Apache 公共文件上传之上。
    • 我也一直在尝试,但该代码也存在问题。对于 List 字段 = upload.parseRequest(request); 弹出此错误“列表类型不是通用的;它不能使用参数 参数化”
    猜你喜欢
    • 2015-04-23
    • 1970-01-01
    • 2012-12-11
    • 1970-01-01
    • 2012-06-19
    • 1970-01-01
    • 2014-05-04
    • 2023-01-10
    • 2021-04-22
    相关资源
    最近更新 更多