NanoHTTPD嵌入式HTTP服务器
NanoHTTPD是一个免费、轻量级的(只有一个Java文件) HTTP服务器,可以很好地嵌入到Java程序中。支持 GET, POST, PUT, HEAD 和 DELETE 请求,支持文件上传,占用内存很小。可轻松定制临时文件使用和线程模型。
NanoHTTPD for JDK 1.1
https://github.com/NanoHttpd/nanohttpd/tree/nanohttpd-for-java1.1
示例代码:
package fi.iki.elonen.debug; import fi.iki.elonen.NanoHTTPD; import fi.iki.elonen.ServerRunner; import java.util.HashMap; import java.util.List; import java.util.Map; public class DebugServer extends NanoHTTPD { public DebugServer() { super(8080); } public static void main(String[] args) { ServerRunner.run(DebugServer.class); } @Override public Response serve(IHTTPSession session) { Map<String, List<String>> decodedQueryParameters = decodeParameters(session.getQueryParameterString()); StringBuilder sb = new StringBuilder(); sb.append("<html>"); sb.append("<head><title>Debug Server</title></head>"); sb.append("<body>"); sb.append("<h1>Debug Server</h1>"); sb.append("<p><blockquote><b>URI</b> = ").append( String.valueOf(session.getUri())).append("<br />"); sb.append("<b>Method</b> = ").append( String.valueOf(session.getMethod())).append("</blockquote></p>"); sb.append("<h3>Headers</h3><p><blockquote>"). append(toString(session.getHeaders())).append("</blockquote></p>"); sb.append("<h3>Parms</h3><p><blockquote>"). append(toString(session.getParms())).append("</blockquote></p>"); sb.append("<h3>Parms (multi values?)</h3><p><blockquote>"). append(toString(decodedQueryParameters)).append("</blockquote></p>"); try { Map<String, String> files = new HashMap<String, String>(); session.parseBody(files); sb.append("<h3>Files</h3><p><blockquote>"). append(toString(files)).append("</blockquote></p>"); } catch (Exception e) { e.printStackTrace(); } sb.append("</body>"); sb.append("</html>"); return new Response(sb.toString()); } private String toString(Map<String, ? extends Object> map) { if (map.size() == 0) { return ""; } return unsortedList(map); } private String unsortedList(Map<String, ? extends Object> map) { StringBuilder sb = new StringBuilder(); sb.append("<ul>"); for (Map.Entry entry : map.entrySet()) { listItem(sb, entry); } sb.append("</ul>"); return sb.toString(); } private void listItem(StringBuilder sb, Map.Entry entry) { sb.append("<li><code><b>").append(entry.getKey()). append("</b> = ").append(entry.getValue()).append("</code></li>"); } }
评论
miniServer嵌入式 HTTP 服务器
miniServer是一个可内嵌进java应用的httpserver是一个基于annotation的极简mvc开发框架文档地址:http://git.oschina.net/dajiangnan/mi
miniServer嵌入式 HTTP 服务器
0
WEBrick嵌入式HTTP服务器程序库
WEBrick是Ruby中内嵌的HTTP服务器程序库下面是一个调用WEBrick实现最简单的HTTP服务器的代码:#!/usr/local/bin/rubyrequire'webrick'includ
WEBrick嵌入式HTTP服务器程序库
0
JLHTTP嵌入式 Java HTTP 服务器
JLHTTP,全称为JavaLightweightHTTPServer,是一个HTTP服务器的开源实现。它小巧而又高效,只有几十K大小,但在轻量级的同时又提供了各种HTTP服务器中常见的有用功能。它既
JLHTTP嵌入式 Java HTTP 服务器
0
httpkit精巧的 java 嵌入式 http 服务器
httpkit是精巧的java嵌入式http服务器,超快的启动速度(实测仅需80毫秒),是tomcat、jetty的完美替代方案。使用方法//起一个server实例int port = 7777;Ht
httpkit精巧的 java 嵌入式 http 服务器
0