程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> JDK6.0的新特性:輕量級Http Server

JDK6.0的新特性:輕量級Http Server

編輯:關於JAVA

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();
 }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved