成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

Java 如何實(shí)現(xiàn)一個http服務(wù)器

瀏覽:4日期:2022-08-20 18:04:16

在Java中可以使用HttpServer類來實(shí)現(xiàn)Http服務(wù)器,該類位于com.sun.net包下(rt.jar)。實(shí)現(xiàn)代碼如下:

主程序類

package bg.httpserver;import com.sun.net.httpserver.HttpServer;import java.io.IOException;import java.net.InetSocketAddress;import java.util.concurrent.Executors;public class HttpServerStarter { public static void main(String[] args) throws IOException { //創(chuàng)建一個HttpServer實(shí)例,并綁定到指定的IP地址和端口號 HttpServer httpServer = HttpServer.create(new InetSocketAddress(8080), 0); //創(chuàng)建一個HttpContext,將路徑為/myserver請求映射到MyHttpHandler處理器 httpServer.createContext('/myserver', new MyHttpHandler()); //設(shè)置服務(wù)器的線程池對象 httpServer.setExecutor(Executors.newFixedThreadPool(10)); //啟動服務(wù)器 httpServer.start(); }}

HttpServer:HttpServer主要是通過帶參的create方法來創(chuàng)建,第一個參數(shù)InetSocketAddress表示綁定的ip地址和端口號。第二個參數(shù)為int類型,表示允許排隊(duì)的最大TCP連接數(shù),如果該值小于或等于零,則使用系統(tǒng)默認(rèn)值。

createContext:可以調(diào)用多次,表示將指定的url路徑綁定到指定的HttpHandler處理器對象上,服務(wù)器接收到的所有路徑請求都將通過調(diào)用給定的處理程序?qū)ο髞硖幚怼?/p>

setExecutor:設(shè)置服務(wù)器的線程池對象,不設(shè)置或者設(shè)為null則表示使用start方法創(chuàng)建的線程。

HttpHandler實(shí)現(xiàn)

package bg.httpserver;import com.sun.net.httpserver.Headers;import com.sun.net.httpserver.HttpExchange;import com.sun.net.httpserver.HttpHandler;import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.OutputStream;import java.util.List;import java.util.Map;import java.util.stream.Collectors;/** * 處理/myserver路徑請求的處理器類 */public class MyHttpHandler implements HttpHandler { @Override public void handle(HttpExchange httpExchange) { try { StringBuilder responseText = new StringBuilder(); responseText.append('請求方法:').append(httpExchange.getRequestMethod()).append('<br/>'); responseText.append('請求參數(shù):').append(getRequestParam(httpExchange)).append('<br/>'); responseText.append('請求頭:<br/>').append(getRequestHeader(httpExchange)); handleResponse(httpExchange, responseText.toString()); } catch (Exception ex) { ex.printStackTrace(); } } /** * 獲取請求頭 * @param httpExchange * @return */ private String getRequestHeader(HttpExchange httpExchange) { Headers headers = httpExchange.getRequestHeaders(); return headers.entrySet().stream().map((Map.Entry<String, List<String>> entry) -> entry.getKey() + ':' + entry.getValue().toString()).collect(Collectors.joining('<br/>')); } /** * 獲取請求參數(shù) * @param httpExchange * @return * @throws Exception */ private String getRequestParam(HttpExchange httpExchange) throws Exception { String paramStr = ''; if (httpExchange.getRequestMethod().equals('GET')) { //GET請求讀queryString paramStr = httpExchange.getRequestURI().getQuery(); } else { //非GET請求讀請求體 BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(httpExchange.getRequestBody(), 'utf-8')); StringBuilder requestBodyContent = new StringBuilder(); String line = null; while ((line = bufferedReader.readLine()) != null) {requestBodyContent.append(line); } paramStr = requestBodyContent.toString(); } return paramStr; } /** * 處理響應(yīng) * @param httpExchange * @param responsetext * @throws Exception */ private void handleResponse(HttpExchange httpExchange, String responsetext) throws Exception { //生成html StringBuilder responseContent = new StringBuilder(); responseContent.append('<html>').append('<body>').append(responsetext).append('</body>').append('</html>'); String responseContentStr = responseContent.toString(); byte[] responseContentByte = responseContentStr.getBytes('utf-8'); //設(shè)置響應(yīng)頭,必須在sendResponseHeaders方法之前設(shè)置! httpExchange.getResponseHeaders().add('Content-Type:', 'text/html;charset=utf-8'); //設(shè)置響應(yīng)碼和響應(yīng)體長度,必須在getResponseBody方法之前調(diào)用! httpExchange.sendResponseHeaders(200, responseContentByte.length); OutputStream out = httpExchange.getResponseBody(); out.write(responseContentByte); out.flush(); out.close(); }}

運(yùn)行HttpServerStarter,在瀏覽器中訪問如下:

Java 如何實(shí)現(xiàn)一個http服務(wù)器

以上就是Java 如何實(shí)現(xiàn)一個http服務(wù)器的詳細(xì)內(nèi)容,更多關(guān)于Java 實(shí)現(xiàn)http服務(wù)器的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Java
相關(guān)文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
国产日韩欧美综合在线| 99久免费精品视频在线观看| 成人午夜视频免费看| 一本色道久久综合狠狠躁的推荐| 亚洲色欲色欲www| 国产精品v欧美精品v日韩精品| 欧美v亚洲v综合ⅴ国产v| 精品一区二区三区蜜桃| 91久久免费观看| 日韩一区欧美二区| 中文精品视频| 亚洲欧美日韩精品久久久久| 欧美激情第六页| 精品免费99久久| 韩国精品久久久| 91黄色小视频| 视频一区在线播放| 先锋影音国产精品| 一二三四社区欧美黄| 亚洲国产精品一区二区第一页| 欧美激情综合五月色丁香小说| 99这里都是精品| 欧美xxx久久| 国产麻豆成人精品| 在线观看91av| 国产麻豆9l精品三级站| 欧美精品成人一区二区三区四区| 美女视频黄 久久| 欧美日韩你懂的| 国产一区中文字幕| 欧美日韩国产综合草草| 精品一区二区在线观看| 欧美高清视频不卡网| 国产精品一区在线观看你懂的| 在线成人av网站| 国产大陆精品国产| 亚洲精品一区二区三区在线观看| 99久精品国产| 国产精品大尺度| 一本色道久久综合亚洲精品不卡 | 成人三级在线视频| 日韩精品一区二区三区在线播放| 成人av在线播放网址| 国产亚洲欧洲一区高清在线观看| 欧美日韩喷水| 亚洲精品成人悠悠色影视| 国产精品久久777777毛茸茸| 午夜精彩视频在线观看不卡| 欧美日韩在线观看一区二区| 国产成人av电影在线观看| 精品国产精品网麻豆系列| 91美女片黄在线观看| 中文字幕一区二区在线播放| 99av国产精品欲麻豆| 天堂av在线一区| 欧美日韩一区二区三区不卡| 成人黄色国产精品网站大全在线免费观看| 久久综合狠狠综合久久激情| 欧美日韩免费高清| 亚洲专区一二三| 在线观看视频一区二区欧美日韩| 国产成人综合在线观看| 亚洲国产岛国毛片在线| 夜久久久久久| 免费在线观看不卡| 日韩视频免费观看高清完整版在线观看 | 欧美日韩国产综合一区二区| 国产成人免费在线视频| 国产欧美视频在线观看| 国产伦精品一区| 精品中文字幕一区二区| 久久伊人中文字幕| 亚洲乱码视频| 免费高清成人在线| 久久先锋资源网| 国产精品久久久久久模特| 三级亚洲高清视频| 日韩午夜av一区| 91久久综合| 狠狠色丁香九九婷婷综合五月| 久久精品视频在线免费观看| 亚洲一级在线| 国产精品影音先锋| 日韩一区中文字幕| 欧美日韩一区二区在线观看视频| 欧美日韩成人| 蜜臀av一区二区在线免费观看| 久久久五月婷婷| 快she精品国产999| 91美女在线视频| 五月婷婷综合在线| 精品久久久久久亚洲综合网| 国产精品一区二区在线观看| 成人免费视频一区| 五月激情六月综合| 久久久久久亚洲综合影院红桃 | 五月婷婷激情综合网| 日韩视频永久免费| 国产精品免费区二区三区观看| 丁香婷婷综合五月| 亚洲国产日韩a在线播放性色| 日韩欧美123| 久久久精品动漫| 你懂的国产精品永久在线| 日本欧美一区二区三区| 久久久久久久av麻豆果冻| 久热精品在线| 国产精品播放| 国产毛片精品一区| 亚洲人吸女人奶水| 欧美一级一级性生活免费录像| 亚洲精品中文字幕在线| 国产iv一区二区三区| 性做久久久久久久久| 亚洲国产精品ⅴa在线观看| 欧美老肥妇做.爰bbww视频| 亚洲精选一区| av午夜精品一区二区三区| 日产欧产美韩系列久久99| 中文字幕亚洲综合久久菠萝蜜| 欧美日韩国产大片| 久久国产66| 欧美日韩一区在线播放| 国产精品99久久不卡二区| 亚洲二区视频在线| 欧美国产综合一区二区| 欧美一区二区视频在线观看 | 亚洲视频二区| 91在线观看视频| 久久精品国产精品青草| 一区二区视频免费在线观看| www国产精品av| 欧美精品一卡二卡| 蜜桃久久精品乱码一区二区| 一区在线观看| 成人av网站免费| 精品中文字幕一区二区| 亚洲综合丝袜美腿| 国产精品天天看| 日韩欧美三级在线| 欧美午夜精品久久久久久超碰| 亚洲作爱视频| 欧美三级小说| thepron国产精品| 国产一二精品视频| 日韩二区三区在线观看| 亚洲另类春色校园小说| 国产日韩欧美精品综合| 国产精品久久久久9999高清| 欧美在线高清| proumb性欧美在线观看| 国产一区二区三区免费播放| 天使萌一区二区三区免费观看| 一区二区欧美视频| 亚洲色图19p| 国产精品色婷婷久久58| 久久青草国产手机看片福利盒子| 欧美高清dvd| 欧美日韩精品一区二区三区 | 性娇小13――14欧美| 亚洲黄网站黄| 亚洲国产日韩综合一区| 欧美激情性爽国产精品17p| 不卡区在线中文字幕| 丰满亚洲少妇av| 国产成人综合自拍| 国产精品99精品久久免费| 国产一区二区三区四区五区入口| 精品一区二区在线视频| 久久99精品国产麻豆婷婷洗澡| 免费黄网站欧美| 老司机午夜精品99久久| 蜜臀久久99精品久久久久宅男 | 另类小说色综合网站| 丝袜脚交一区二区| 午夜在线成人av| 亚洲va欧美va人人爽午夜| 亚洲在线中文字幕| 亚洲综合免费观看高清完整版在线| 亚洲精品伦理在线| 亚洲黄色小说网站| 一区二区三区日韩| 夜夜亚洲天天久久| 亚洲伊人伊色伊影伊综合网| 玉米视频成人免费看| 樱桃视频在线观看一区| 亚洲日本韩国一区| 亚洲免费伊人电影| 亚洲欧美日韩国产手机在线| 亚洲欧美日韩系列| 亚洲一区二区在线观看视频| 亚洲午夜激情网页| 日韩中文欧美在线| 久久精品国产久精国产| 国产精品996| 欧美一区二区三区在线播放 | 国产日韩欧美| 久久黄色网页| 欧美日韩久久久| 欧美成人精品福利|