如何用Java通过POST方法向HTTP接口传递数据?

Python09

如何用Java通过POST方法向HTTP接口传递数据?,第1张

这是corejava2的例子\x0d\x0aURLConnectionconnection=url.openConnection()//url为http服务器地址\x0d\x0aconnection.setDoOutput(true)\x0d\x0aPrintWriterout\x0d\x0a=newPrintWriter(connection.getOutputStream())//获得输出流\x0d\x0a//向服务器传递参数\x0d\x0aEnumerationenum=nameValuePairs.keys()\x0d\x0awhile(enum.hasMoreElements())\x0d\x0a{Stringname=(String)enum.nextElement()\x0d\x0aStringvalue=nameValuePairs.getProperty(name)\x0d\x0acharch\x0d\x0aif(enum.hasMoreElements())ch='&'elsech='\n'\x0d\x0aout.print(name+"="\x0d\x0a+URLEncoder.encode(value)+ch)\x0d\x0aSystem.out.println(name+value)\x0d\x0a}\x0d\x0a\x0d\x0aout.close()\x0d\x0a//获取输入流\x0d\x0aBufferedReaderin\x0d\x0atry\x0d\x0a{in=newBufferedReader(new\x0d\x0aInputStreamReader(connection.getInputStream()))\x0d\x0a}\x0d\x0acatch(FileNotFoundExceptionexception)\x0d\x0a{InputStreamerr\x0d\x0a=((HttpURLConnection)connection).getErrorStream()\x0d\x0aif(err==null)throwexception\x0d\x0ain=newBufferedReader(newInputStreamReader(err))\x0d\x0a}\x0d\x0aStringBufferresponse=newStringBuffer()\x0d\x0aStringline\x0d\x0a//读取数据\x0d\x0awhile((line=in.readLine())!=null)\x0d\x0aresponse.append(line+"\n")\x0d\x0a\x0d\x0ain.close()\x0d\x0areturnresponse.toString()\x0d\x0a}\x0d\x0a}

有很多种方法:

1.用AJAX模式,这是不刷新页面提交的最好模式,网上很多完整例子,可以参考一下

2.如果另一个页面只有业务处理功能,不需要界面显示的话,可以先POST数据到此页面处理数据,处理成功后返回到原页(此实现方案会刷新页面)。