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

          都市淘沙者

          荔枝FM Everyone can be host

          統(tǒng)計

          留言簿(23)

          積分與排名

          優(yōu)秀學習網(wǎng)站

          友情連接

          閱讀排行榜

          評論排行榜

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

          這幾天測試Servlet通信,寫了一個小程序,通過從Properties文件中讀取設(shè)定信息,構(gòu)造Http頭,向Servlet發(fā)Post請求,并且接收Servlet的結(jié)果,下面給出程序的大概結(jié)構(gòu):
           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");      //構(gòu)造好這個URL對象,參數(shù)就是你要通信的servlet地址,實際測試的時候,這個URL可以從Properties文件中取得,以增加靈活性
          11            conn = (HttpURLConnection)url.openConnection();                 //打開,創(chuàng)建Connection對象
          12
          13            conn.setRequestMethod("POST");                                         //設(shè)定請求方式為POST
          14            conn.setDoOutput(true);                                                        //一定要設(shè)為true,因為要發(fā)送數(shù)據(jù)
          15
          16            //下面開始設(shè)定Http頭
          17           conn.setRequestProperty("Content-Type","multipart/form-data; boundary=Bounday---");
          18           conn.setRequestProperty("Cache-Control","no-cache");
          19           .
          20
          21         //  傳送送據(jù)
          22          OutputStream buf = conn.getOutoutStream();
          23          buf = new BufferedOutputStream(buf);
          24
          25          OutputStreamWriter out = new  OutputStreamWriter (buf);
          26          out.write("這里是要傳送的數(shù)據(jù)");
          27          //比方說如下的格式,當然這是自己規(guī)定的格式,這些都可以從配置文件中設(shè)定,然后讀取
          28          //Bounday---
          29          //Content-Disposition: form-data; name="testRequestHeader"
          30          //  Data = aabbccddeeffgghh
          31          //--Bounday---
          32          out.flush();                                                    //這個一定要
          33          out.clost();
          34
          35        //接收數(shù)據(jù)
          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/開源資料

          主站蜘蛛池模板: 临武县| 唐河县| 西乌| 汪清县| 青阳县| 临汾市| 白玉县| 扬中市| 武鸣县| 安多县| 丰顺县| 阿拉善右旗| 南江县| 开远市| 井陉县| 历史| 资溪县| 桐乡市| 江西省| 建瓯市| 屏南县| 岱山县| 南京市| 延庆县| 红河县| 上栗县| 玛多县| 长泰县| 富平县| 梁山县| 德昌县| 宝清县| 隆安县| 徐水县| 新安县| 天峻县| 武乡县| 抚松县| 寿光市| 泸定县| 武功县|