Dict.CN 在線詞典, 英語學習, 在線翻譯

          都市淘沙者

          荔枝FM Everyone can be host

          統計

          留言簿(23)

          積分與排名

          優秀學習網站

          友情連接

          閱讀排行榜

          評論排行榜

          利用java的HttpURLConnection和Servlet通信 (轉)

          這幾天測試Servlet通信,寫了一個小程序,通過從Properties文件中讀取設定信息,構造Http頭,向Servlet發Post請求,并且接收Servlet的結果,下面給出程序的大概結構:
           1import java.net.*;
           2import java.io.*;
           3
           4public class testPost {
           5    public static void main() {
           6        URL url = null;
           7        HttpURLConnection conn = null;
           8        
           9        try {
          10            url = new URL("http://localhost/projectname/servletname");      //構造好這個URL對象,參數就是你要通信的servlet地址,實際測試的時候,這個URL可以從Properties文件中取得,以增加靈活性
          11            conn = (HttpURLConnection)url.openConnection();                 //打開,創建Connection對象
          12
          13            conn.setRequestMethod("POST");                                         //設定請求方式為POST
          14            conn.setDoOutput(true);                                                        //一定要設為true,因為要發送數據
          15
          16            //下面開始設定Http頭
          17           conn.setRequestProperty("Content-Type","multipart/form-data; boundary=Bounday---");
          18           conn.setRequestProperty("Cache-Control","no-cache");
          19           .
          20
          21         //  傳送送據
          22          OutputStream buf = conn.getOutoutStream();
          23          buf = new BufferedOutputStream(buf);
          24
          25          OutputStreamWriter out = new  OutputStreamWriter (buf);
          26          out.write("這里是要傳送的數據");
          27          //比方說如下的格式,當然這是自己規定的格式,這些都可以從配置文件中設定,然后讀取
          28          //Bounday---
          29          //Content-Disposition: form-data; name="testRequestHeader"
          30          //  Data = aabbccddeeffgghh
          31          //--Bounday---
          32          out.flush();                                                    //這個一定要
          33          out.clost();
          34
          35        //接收數據
          36        InputStream in = conn.getInputStream();
          37        in = new BufferedOutputStream(buf);
          38        Reader rData = new InputStreamReader(in);
          39
          40        int c;
          41        
          42        System.out.println("=====================Result==========================");
          43        while((c=rData.read()) != -1)
          44               System.out.print((char)c);
          45        System.out.println("===================================================");
          46        
          47        in.close();
          48        }
           catch (Exception e) {
          49            e.printStackTrace();
          50        }
           finally {
          51        }

          52    }

          53}

          54

          posted on 2007-09-06 10:04 都市淘沙者 閱讀(3199) 評論(0)  編輯  收藏 所屬分類: Java Basic/Lucene/開源資料

          主站蜘蛛池模板: 威信县| 阿坝| 北辰区| 福鼎市| 浑源县| 南江县| 安西县| 宣恩县| 嘉义市| 石台县| 汝阳县| 灌南县| 扬中市| 南康市| 罗山县| 黄山市| 清丰县| 和平县| 乳山市| 鄢陵县| 鹿泉市| 正蓝旗| 眉山市| 桦南县| 新竹县| 上蔡县| 平山县| 禹州市| 武威市| 崇左市| 上虞市| 加查县| 罗城| 新民市| 双牌县| 汉阴县| 玉田县| 东城区| 河东区| 永靖县| 五台县|