我正在尝试为我的网站创建一个注册页面。 当用户将数据提交到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(); %>
答案 0 :(得分:2)
在表单的动作标签中只提供Web服务的URL。内容类型由表单上的enctype
属性确定
如果您的表单包含文件输入元素,那么表单操作标签应该是这样的
<form method="POST" action="<your web service address>" enctype="multipart/form-data" >
如果它只包含文本和除enctype
以外的文件的其他输入
application/x-www-form-urlencoded
表格更多信息参考