jdk自带轻量级http server例子
来源:互联网 发布:钢铁力量满级s狐狸数据 编辑:程序博客网 时间:2024/06/06 01:10
JDK6 提供了一个简单的Http Server API,据此我们可以构建自己的嵌入式Http Server,它支持Http和Https协议,提供了HTTP1.1的部分实现,没有被实现的那部分可以通过扩展已有的Http Server API来实现,程序员必须自己实现HttpHandler接口,HttpServer会调用HttpHandler实现类的回调方法来处理客户端请求,在 这里,我们把一个Http请求和它的响应称为一个交换,包装成HttpExchange类,HttpServer负责将HttpExchange传给 HttpHandler实现类的回调方法.
import com.sun.net.httpserver.Headers;import com.sun.net.httpserver.HttpExchange;import com.sun.net.httpserver.HttpHandler;import com.sun.net.httpserver.HttpServer;import java.io.IOException;import java.io.OutputStream;import java.net.InetSocketAddress;import java.util.Iterator;import java.util.List;import java.util.Set;import java.util.concurrent.Executors;//jdk自带轻量级http server例子 http://127.0.0.1:8080/serverpublic class HttpServerDemo { public static void main(String[] args) throws IOException { InetSocketAddress addr = new InetSocketAddress(8080); HttpServer server = HttpServer.create(addr, 0); server.createContext("/server", new MyHandler()); server.setExecutor(Executors.newCachedThreadPool()); server.start(); System.out.println("Server is listening on port 8080"); }}class MyHandler implements HttpHandler { public void handle(HttpExchange exchange) throws IOException { String requestMethod = exchange.getRequestMethod(); if (requestMethod.equalsIgnoreCase("GET")) { Headers responseHeaders = exchange.getResponseHeaders(); responseHeaders.set("Content-Type", "text/plain"); // responseHeaders.set("Content-Type", "text/html; charset=utf-8"); exchange.sendResponseHeaders(200, 0); OutputStream responseBody = exchange.getResponseBody(); Headers requestHeaders = exchange.getRequestHeaders(); Set<String> keySet = requestHeaders.keySet(); Iterator<String> iter = keySet.iterator(); while (iter.hasNext()) { String key = iter.next(); List values = requestHeaders.get(key); String s = key + " = " + values.toString() + "\n"; responseBody.write(s.getBytes()); } responseBody.write("jdk自带轻量级http server例子".getBytes()); responseBody.close(); } }}
0 0
- jdk自带轻量级http server例子
- JDK自带的轻量级HTTP Server进行加载。
- Http下载-Qt4自带例子
- java轻量级Http Server
- http-server轻量级文件服务器
- Threaded Fortune Server-Qt4自带例子(网络通信)
- 轻量级的服务器http-server
- spring自带的轻量级定时任务
- JDK 内置的轻量级 HTTP 服务器 --- HttpServer
- JDK自带MD5加密算法
- JDK自带监控工具
- JDK自带的native2ascii
- 删除centOS自带jdk
- 卸载linux自带JDK
- jdk自带webservice 应用
- 卸载centos7自带jdk
- jdk自带jstack工具
- jdk自带压缩乱码
- MVC框架模式学习笔记(一)
- 2014 Oracle技术嘉年华记录
- Cracking the coding interview--Q4.5
- Graph
- [iOS 学习]访问在资源文件中的多级目录的HTML
- jdk自带轻量级http server例子
- Google Perftools简介与使用
- 山东一食品厂火灾
- Linux中与内核通信的Netlink机制(实例)
- 重温经典——打砖块
- 习惯而已
- 制作iOS搜索应用 搜索结果关键词高亮不同样式
- 快速创建和mysql表对应的java domain实体类
- 【Android开发】利用XML实现扁平化按钮和圆角矩形