HttpServerProvider實現http服務介面

來源:互聯網
上載者:User

標籤:except   資訊   erp   parameter   exception   控制台   ram   main   add   

啥也不說了,直接上代碼,簡單的樣本。

 

服務端代碼:

package dyan.server;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStream;import java.net.InetSocketAddress;import com.sun.net.httpserver.HttpExchange;import com.sun.net.httpserver.HttpHandler;import com.sun.net.httpserver.HttpServer;import com.sun.net.httpserver.spi.HttpServerProvider;public class DealMain{        public static void main(String[] args) throws Exception    {        HttpServerProvider provider = HttpServerProvider.provider();                HttpServer server = provider.createHttpServer(new InetSocketAddress(6688), 10);                server.createContext("/dyan", new DealMain().new DyanHttpHandler());                server.setExecutor(null);        server.start();            }            class DyanHttpHandler implements HttpHandler    {        @Override        public void handle(HttpExchange arg0) throws IOException        {            System.out.println("accept an exchange from internet.....");                        String resp = "your request message i get it!";                        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(arg0.getRequestBody()));                        System.out.println(bufferedReader.readLine());                        arg0.sendResponseHeaders(200, resp.getBytes().length);                        OutputStream out = arg0.getResponseBody();            out.write(resp.getBytes());                        out.flush();            arg0.close();        }            }    }

 

 

請求代碼:

 public static void main(String[] args) throws Exception    {        URL url = null;        HttpURLConnection urlConnection = null;                url = new URL("http://localhost:6688/dyan");        urlConnection = (HttpURLConnection)url.openConnection();                urlConnection.setRequestMethod("POST");        urlConnection.setDoInput(true);        urlConnection.setDoOutput(true);        urlConnection.setUseCaches(false);                System.out.println("begin send parameters....");                urlConnection.getOutputStream().write("i am dyan".getBytes());        urlConnection.getOutputStream().flush();        urlConnection.getOutputStream().close();                InputStream in = urlConnection.getInputStream();        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(in));                System.out.println(bufferedReader.readLine());                bufferedReader.close();                        urlConnection.disconnect();    }

 

先執行服務端代碼,將服務端啟動起來,來接收請求。

再執行請求代碼,發起請求。

控制台列印資訊如下:

  1、請求端

begin send parameters....
your request message i get it!

 

  2、服務端

accept an exchange from internet.....
i am dyan

HttpServerProvider實現http服務介面

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.