如何将多部分表单数据从jsp发送到Web服务?

时间:2017-04-11 03:08:54

标签: java rest jsp servlets jax-rs

我正在尝试为我的网站创建一个注册页面。 当用户将数据提交到signup.jsp时,我想使用“application / x-www-form-urlencoded”将此数据发送到我的Web服务。我怎么能在JSP中这样做。试过以下代码,但这会以原始数据的形式发送数据。

<%    URL url = new URL("http://www.externalsite.com/sample.html");
    HttpURLConnection conn = (HttpURLConnection)url.openConnection();
    conn.setRequestMethod("POST");
    conn.setDoOutput(true);

    String postParams = "foo="+req.getParameter("foo");

    DataOutputStream paramsWriter = new DataOutputStream(con.getOutputStream());
    paramsWriter.writeBytes(postParams);
    paramsWriter.flush();
    paramsWriter.close();

    InputStream remoteResponse = conn.getInputStream();
    OutputStream localResponder = resp.getOutputStream();
    int c;
    while((c = remoteResponse.read()) != -1)
        localResponder.write(c);
    remoteResponse.close();
    localResponder.close();

    conn.disconnect(); %>

1 个答案:

答案 0 :(得分:2)

在表单的动作标签中只提供Web服务的URL。内容类型由表单上的enctype属性确定

如果您的表单包含文件输入元素,那么表单操作标签应该是这样的

<form method="POST" action="<your web service address>" enctype="multipart/form-data" >

如果它只包含文本和除enctype以外的文件的其他输入

application/x-www-form-urlencoded

表格更多信息参考

java ee file upload example

相关问题