有的时候我们在做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. 毕业三年薪水翻三倍!?你想要吗?
  3. spring JdbcTemplate 在项目中的浅层(5个使用场景)封装
  4. 计算机论文指导书,计算机毕业论文指导书.doc
  5. Dalvik虚拟机相关的可执行程序
  6. 前端智勇大闯关-第二季-第三题
  7. M文件---脚本与函数
  8. excel线性拟合的斜率_excle指定斜率拟合 | 用Excel如何进行最小二乘法的线性拟合?求图解!...
  9. rgb转yuv422 matlab,MATLAB读取一张RGB图片转成YUV420格式、YUV422格式、YUV444格式
  10. openmv串口数据 串口助手_实例 | 使用Python串口实时显示数据并绘图
  11. 租房申请html模板,实用的租房房源标题模板
  12. 怎么防治计算机病毒,计算机病毒怎么防治
  13. python怎么测试一个网站的延迟_Python检测网络延迟的代码
  14. 程序员视角:鹿晗公布恋情是如何把微博搞炸的?
  15. 山东科技大学计算机篮球,球队资料:山东科技大学男子篮球队
  16. 计算机存储有哪些类型,存储主要分为哪些类型
  17. 计算机与现代化在线投稿,计算机与现代化投稿要求
  18. LSTM文本预测分析python
  19. python 培训课件
  20. 继 K3s 之后,又来个 K0s...

热门文章

  1. 香蕉派安装64位linux,BANANA PI 入门:香蕉派如何安装系统
  2. SCTP协议与程序设计案例
  3. mui如何对接java后台_MUI框架-09-MUI 与后台数据交互
  4. 雷达篇(十) dB和dBm的意义,功率W和dBm之间的换算
  5. 矩阵转置与矩阵对称性的关系
  6. 小米4c android5.1,奇兔刷机全网独家攻破小米4c安卓5.1支持一键刷机ROOT
  7. root 红米note5_小米红米Note 5(不要降级刷低版本)手机完美获取root教程,最强root工具,亲测可用!...
  8. 【Python K均值聚类算法】
  9. Cain嗅探工具的https数据捕获
  10. 安卓手机修改ntp服务器,修改安卓手机ntp服务器地址