天天看點

JDK6.0的新特性:輕量級HttpServer

 jdk6提供了一個簡單的http server api,據此我們可以建構自己的嵌入式http server,它支援http和https協定,提供了http1.1的部分實作,沒有被實作的那部分可以通過擴充已有的http server api來實作,程式員必須自己實作httphandler接口,httpserver會調用httphandler實作類的回調方法來處理用戶端請求,在這裡,我們把一個http請求和它的響應稱為一個交換,包裝成httpexchange類,httpserver負責将httpexchange傳給httphandler實作類的回調方法.下面代碼示範了怎樣建立自己的http

server

/**

* created by intellij idea.

* user: chinajash

* date: dec 30, 2006

*/

public class httpserverapitester {

 public static void main(string[] args) {

  try {

   httpserver hs = httpserver.create(new inetsocketaddress(8888),0);//設定httpserver的端口為8888

   hs.createcontext("/chinajash", new myhandler());//用myhandler類内處理到/chinajash的請求

   hs.setexecutor(null); // creates a default executor

   hs.start();

  } catch (ioexception e) {

   e.printstacktrace();

  }

 }

}

class myhandler implements httphandler {

 public void handle(httpexchange t) throws ioexception {

  inputstream is = t.getrequestbody();

  string response = "<h3>happy new year 2007!--chinajash</h3>";

  t.sendresponseheaders(200, response.length());

  outputstream os = t.getresponsebody();

  os.write(response.getbytes());

  os.close();

繼續閱讀