可以通過裝載或讀取一個XML文件,得到其數據,然后把得到的數據當成實體,通過HTTP協議用輸出流發送給服務器,在服務器端通過獲取輸入流獲取相關數據,這樣就是實現了向服務器發送XML數據。如下:
客戶端:
public void sendXmlTest() throws Exception{
//通過類裝載器裝載XML資源
InputStream inputStream=this.getClass().getClassLoader().getResourceAsStream("test.xml");
byte[] xml=StreamTool.read(inputStream);
String path="http://172.22.35.112:8080/videonews/GetXmlInfo";
URL url=new URL(path);
HttpURLConnection conn=(HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setConnectTimeout(5000);
conn.setDoOutput(true);
//設置HTTP請求的頭字段
conn.setRequestProperty("Content-Type", "text/xml; charset=UTF-8"); //內容類型
conn.setRequestProperty("Content-Length", String.valueOf(xml.length)); //實體內容的長度
conn.getOutputStream().write(xml); //通過輸出流把數據寫到服務器
if(conn.getResponseCode()==200){
System.out.println("發送成功!");
}else{
System.out.println("發送失敗!");
}
}
服務器端:
- byte[] xml=StreamTool.read(request.getInputStream()); //獲得輸出流
- System.out.println(new String(xml,"UTF-8"));