JDK6.0的新特性之五:輕量級Http Server
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 = "Happy New Year 2007!--Chinajash
";
t.sendResponseHeaders(200, response.length());
OutputStream os = t.getResponseBody();
os.write(response.getBytes());
os.close();
}
}
執行程式後,在瀏覽器內輸入,瀏覽器輸出
[@more@]來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/750220/viewspace-889293/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JDK6.0的新特性之四:使用Compiler APIJDKCompileAPI
- JDK6.0的新特性:使用Compiler APIJDKCompileAPI
- JDK6.0的新特性之三:理解StAXJDK
- 【MySQL】5.7新特性之五MySql
- 輕量級前端架構有哪些特性?前端架構
- JDK6.0的新特性之一:Desktop和SystemTray類JDK
- spa-to-http:輕量級零配置SPA HTTP 伺服器HTTP伺服器
- HTTP----HTTP2.0新特性HTTP
- JDK6.0的新特性之六:插入式註解處理API(Pluggable Annotation Processing API)JDKAPI
- http2新特性HTTP
- Oracle11新特性——PLSQL新特性(五)OracleSQL
- JDK6.0的新特性之二:使用JAXB2來實現物件與XML之間的對映JDK物件XML
- JDK6.0與JDK4.0相比有什麼新特性JDK
- easyhttp——輕量級、語義化、 對 IDE 友好的 HTTP 客戶端HTTPIDE客戶端
- 【轉】http2 新特性HTTP
- 輕量級超級 css 工具CSS
- Oracle 12.2的新特性之PDB級別閃回Oracle
- 微服務架構基礎之輕量級部署微服務架構
- 程式設計師常用的五種輕量級程式碼編輯器程式設計師
- 淺析SQL Server 2008企業級新特性SQLServer
- Oracle 12C 新特性之級聯truncateOracle
- Go Web輕量級框架Gin學習系列:HTTP請求日誌GoWeb框架HTTP
- Spring的輕量級實現Spring
- 輕量級UI元件 MagicUI元件
- 輕量級IOC框架:Ninject框架
- 打造輕量級 ViewController 之抽離 DataSource/DelegateViewController
- Android之SharedPreference輕量級資料儲存Android
- JAVA物件分析之偏向鎖、輕量級鎖、重量級鎖升級過程Java物件
- 輕量級微服務架構實踐之 ANOYI-IM微服務架構
- Flutter路由輕量級框架FRouterFlutter路由框架
- 輕量級orm框架——gzero指南ORM框架
- iOS 輕量級 HTML 解析方案iOSHTML
- JAVA輕量級鎖簡介Java
- 輕量級Web框架Flask(二)Web框架Flask
- [ElasticSearch ]2輕量級搜尋Elasticsearch
- 輕量級標記語言
- Magic:輕量級JavaScript UI元件JavaScriptUI元件
- 超輕量級PHP框架BroPHPPHP框架