2017-04-11 93 views
1

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

<% 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

“application/x-www-form-urlencoded”!= multipart。除此之外,你有什么尝试? –

+0

只需使用许多更高级别的http客户端库之一即可。 – pvg

+0

请举个例子。 –

回答

2

表单的action标签只给出web服务的url。内容类型由enctype属性的形式

如果表单包含那么文件输入元素形成opeaning标签应该是这样的

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

如果它包含除文件只有文字等方面的投入比enctype坚定的意志是

application/x-www-form-urlencoded 

形式的更多信息请参考

java ee file upload example

相关问题