小编Bru*_*des的帖子

从 .html post multipart/form-data 表单到 servlets 2.5 或 3.0 的请求中的空参数列表

我的问题是我在 .html 页面中有一个表单,它激活了一个名为 CodeSubmission 的 servlet。起初,我使用 3.0 API 实现(仅使用@WebServlet("/CodeSubmission")),但是每当 servlet 被激活时,请求就没有任何参数。所以我决定尝试一下,在一个全新的项目中使用 2.5 API(通过手动将 servlet 添加到 web.xml 文件),但同样,每当调用 servlet 时,请求都没有任何参数。

我还认为这是因为文件上传字段,但即使删除它后,选择字段也不会作为请求参数出现。

这是html表单代码:

<form action="CodeSubmission" method="POST" enctype="multipart/form-data">
<label for="compiler">Compilador:</label>
<select id="compiler">
    <option value="c">C</option>
    <option value="c++">C++</option>
    <option value="scala7">Scala 2.7.7</option>
    <option value="scala8">Scala 2.8.1</option>
    <option value="java5">Java 1.5</option>
    <option value="java6">Java 1.6</option>
</select>
<br /> 
<label for="code">Arquivo:</label>
<input id="code" type="file" size=80 />
<br /> 
<input type="submit" value="Enviar" />
</form>
Run Code Online (Sandbox Code Playgroud)

这是检查参数的测试代码:

    System.out.println("Length: "+request.getContentLength());
    System.out.println("Content Type: "+request.getContentType());
    System.out.println("Method: "+request.getMethod());
    Enumeration<String> attributeNames = request.getAttributeNames();
    System.out.println("Request Attributes");
    while (attributeNames.hasMoreElements()) …
Run Code Online (Sandbox Code Playgroud)

java servlets file-upload apache-commons

1
推荐指数
1
解决办法
2216
查看次数

标签 统计

apache-commons ×1

file-upload ×1

java ×1

servlets ×1