关键点在于是getInputStream()完成一次真正的请求
客户端程序
-
import java.io.InputStream;
-
import java.io.OutputStream;
-
import java.net.URL;
-
import java.net.URLConnection;
-
-
-
-
public class URLConnectionTest {
-
public static void main(String[] args){
-
try{
-
URL url=new URL("");
-
URLConnection urlConnection=url.openConnection();
-
-
//这是几个简单属性
-
urlConnection.setDoInput(true);
-
urlConnection.setDoOutput(true);
-
urlConnection.setUseCaches(false);
-
urlConnection.setConnectTimeout(2000);
-
-
// 设定传送的内容类型是可序列化的java对象
-
// (如果不设此项,在传送序列化对象时,当WEB服务默认的不是这种类型时可能抛java.io.EOFException)
-
urlConnection.setRequestProperty("Content-type","application/x-www-form-urlencoded");
-
-
//connect()可要可不要,连接的关键在于调用getInputStream()方法
-
urlConnection.connect();
-
-
//如果在url中没有加入参数,可以用getOutPutStream()方法将参数写入缓冲区中
-
//真正的完成一次请求是要调用getInputStream()方法,即在调用getInputStream()前
-
//都没有开始请求
-
OutputStream outputStream=urlConnection.getOutputStream();
-
String param="name=xiebiao";
-
outputStream.write(param.getBytes());
-
-
//读取servlet返回的数据
-
InputStream inputStream=urlConnection.getInputStream();
-
byte[] buffer=new byte[inputStream.available()];
-
inputStream.read(buffer);
-
System.out.println(new String(buffer));
-
}catch(Exception ex){
-
ex.printStackTrace();
-
}
-
}
-
- }