有的时候我们在做web的时候需要一个能够嵌入我们程序的http服务器,jetty是一个不错的选择,其实jdk自己也为我们写了一个能够嵌入程序的服务器HttpServer,但是它的使用和我们平时写的web后台代码区别很大,所以为了能够快速上手这个服务器的使用我将它进行了再次封装,接下来我将把它封装出一个和tomcat使用类似的服务器(当然只是封装一点皮毛,和真正的服务器比还是差了很远);

既然是对HttpServer进行封装,那么就得先了解这个类的使用:先写一个demo测试一下

HttpServer server = HttpServer.create(new InetSocketAddress(9999),100) ; //开启服务 监听9999端口,后面一个参数表示能同时接受多少个请求
/*** param1:请求地址* param2:回掉函数* /
server.createContext("/", new HttpHandler() {public void handle(HttpExchange exchange) throws IOException {}
}) ;
//启动服务
server.start() ;

一个简易的服务器就搭建起来了,下面讲一下exchange中的方法的使用

exchange.getRemoteAddress()  //获取请求者ip信息
exchange.getRequestBody() ; //获取读取前端信息的io对象(读取请求body部分)
exchange.getRequestHeaders() ; //获取请求头信息
exchange.getRequestMethod() ; //获取请求方式
exchange.getRequestURI() ;   //获取请求参数
exchange.getResponseBody() ; //获取返回的io对象
exchange.getResponseHeaders() ;//设置返回头信息
exchange.sendResponseHeaders(200, 0); //发送返回头,参数1:响应码  参数2:返回内容长度

将上面的代码跑起来,在浏览器中输入:http://127.0.0.1:9999/访问参数 就可以测试了

简单了解HttpServer的使用相关推荐

  1. python实例32[简单的HttpServer]

    通常地我们要在不同平台间共享文件,samba,ftp,cifs,ntfs的设置都是有点复杂的, 我们可以使用python提供的httpserver来提供基于http方式跨平台的文件共享. 一 命令行启 ...

  2. 手写简单的HttpServer基于Java nio 实现socket异步通信(请求映射注解方式)

    HttpServer服务类 1 package javax.servlet.http.server2; 2 3 import java.io.IOException; 4 import java.ne ...

  3. Linux使用evhttp实现一个简单的HttpServer

    直接上代码. mian.cpp #include <event.h> //for http #include <evhttp.h> #include <event2/ht ...

  4. java vertx http_佛系学习Vert.x之创建你的HttpServer

    大噶好,最近关注了一个叫Vert.x的东西 这是一个Logo 简单的说这是一个事件驱动的NIO框架,底层基于Netty.(这里我要上个测评)在 Web框架性能测试Round16中的各项指标表现还是很不 ...

  5. JAVA实现HTTPserver端

    用java socket实现了一个简单的httpserver, 能够处理GET, POST,以及带一个附件的multipart类型的POST.尽管中途遇到了非常多问题, 只是通过在论坛和几个高手交流了 ...

  6. rpc之使用httpserver实现tpc

    rpc理解: 1.RPC 和 REST 区别是什么? 你一定会觉得这个问题很奇怪,是的,包括我,但是你在网络上一搜,会发现类似对比的文章比比皆是,我在想可能很多初学者由于基础不牢固,才会将不相干的二者 ...

  7. linux使用flask设计网站,linux下Flask框架搭建简单网页

    开始安装FLASK需要创建一个虚拟环境,虚拟环境可以不干扰正在使用的系统环境,避免影响,并且也不需要完全的root权限,更加安全可靠. 搭建环境 Python3.4 进入到microblog目录下创建 ...

  8. python创建httpserver,并处理get、post请求

    参考: https://blog.csdn.net/gujing001/article/details/53152793/ 搭建一个简单的httpserver,用于测试数据通讯 from http.s ...

  9. 用libevent实现httpserver

    最近工作中需要实现一些审计功能,软件是服务器端程序,对于展示来说,在浏览器上能直接查看可能是最直接最友好的方式了,libevent中提供了http模块,正好我们的软件也依赖这个,所以决定用它来实现一个 ...

  10. Vert.x学习笔记(一) Vert.x 核心包

    Vert.x是一个事件驱动的JVM上的框架,可以帮助我们构建现代.灵活.可扩展的程序.Vert.x有多种语言的版本,可以用在Java.Kotlin.Scala.Groovy.Ruby等语言上.当然现在 ...

最新文章

  1. 腾讯云 短信服务 【学习记录 】
  2. php linux脚本文件,Unix/Linux中如何直接执行PHP脚本文件?
  3. 新年新气象,用新年的喜庆来迎接的生活
  4. TVS二极管,双向封装,如何选型?
  5. 弹性地基梁板实用计算_强夯地基承载力原理及测试方法
  6. git 删除本地仓库中的分支_本地 Git 仓库与 GitHub 关联
  7. python学生管理系统类图_类图 python
  8. scala apply方法 笔记
  9. 架构专家梁勇:哈啰在分布式消息治理和微服务治理中的实践
  10. Vue Devtools 安装
  11. SP1557 GSS2 - Can you answer these queries II
  12. post发送请求,body格式
  13. java大数据组件Flume
  14. Openstack api 使用方法
  15. linux各路径(目录)的解释(转载)
  16. 曲线积分和曲面积分及其几何应用、物理应用
  17. python实现类似于visio_Visio类似的高性价比的替代软件
  18. DSP28377S_CAN通信
  19. marshmallow——简介
  20. matlab中tdma源程序,40MF-TDMA系统中多用户多业务的无线接入控制和时隙分配算法MATLAB源代码...

热门文章

  1. matplotlib绘制鼠标的十字光标(自定义方式,官方实例)
  2. DHTMLX Grid Crack
  3. K均值(K-Means)聚类算法简介
  4. 如何使用低代码开发平台实现出入库管理
  5. Microhard P900 900MHz跳频电台核心模块
  6. 数据结构--图的深度优先遍历
  7. MS VS 2013下载和安装中文语言包教程
  8. 维宏控制卡四轴那个好_维宏维鸿四轴真四轴联动雕刻机运动控制卡说明书
  9. 从零搭建美团饿了么外卖红包CPS小程序教程
  10. 小程序如何跳转至同服务器app,小程序新功能,app可以直接跳转小程序