简单了解HttpServer的使用
有的时候我们在做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的使用相关推荐
- python实例32[简单的HttpServer]
通常地我们要在不同平台间共享文件,samba,ftp,cifs,ntfs的设置都是有点复杂的, 我们可以使用python提供的httpserver来提供基于http方式跨平台的文件共享. 一 命令行启 ...
- 手写简单的HttpServer基于Java nio 实现socket异步通信(请求映射注解方式)
HttpServer服务类 1 package javax.servlet.http.server2; 2 3 import java.io.IOException; 4 import java.ne ...
- Linux使用evhttp实现一个简单的HttpServer
直接上代码. mian.cpp #include <event.h> //for http #include <evhttp.h> #include <event2/ht ...
- java vertx http_佛系学习Vert.x之创建你的HttpServer
大噶好,最近关注了一个叫Vert.x的东西 这是一个Logo 简单的说这是一个事件驱动的NIO框架,底层基于Netty.(这里我要上个测评)在 Web框架性能测试Round16中的各项指标表现还是很不 ...
- JAVA实现HTTPserver端
用java socket实现了一个简单的httpserver, 能够处理GET, POST,以及带一个附件的multipart类型的POST.尽管中途遇到了非常多问题, 只是通过在论坛和几个高手交流了 ...
- rpc之使用httpserver实现tpc
rpc理解: 1.RPC 和 REST 区别是什么? 你一定会觉得这个问题很奇怪,是的,包括我,但是你在网络上一搜,会发现类似对比的文章比比皆是,我在想可能很多初学者由于基础不牢固,才会将不相干的二者 ...
- linux使用flask设计网站,linux下Flask框架搭建简单网页
开始安装FLASK需要创建一个虚拟环境,虚拟环境可以不干扰正在使用的系统环境,避免影响,并且也不需要完全的root权限,更加安全可靠. 搭建环境 Python3.4 进入到microblog目录下创建 ...
- python创建httpserver,并处理get、post请求
参考: https://blog.csdn.net/gujing001/article/details/53152793/ 搭建一个简单的httpserver,用于测试数据通讯 from http.s ...
- 用libevent实现httpserver
最近工作中需要实现一些审计功能,软件是服务器端程序,对于展示来说,在浏览器上能直接查看可能是最直接最友好的方式了,libevent中提供了http模块,正好我们的软件也依赖这个,所以决定用它来实现一个 ...
- Vert.x学习笔记(一) Vert.x 核心包
Vert.x是一个事件驱动的JVM上的框架,可以帮助我们构建现代.灵活.可扩展的程序.Vert.x有多种语言的版本,可以用在Java.Kotlin.Scala.Groovy.Ruby等语言上.当然现在 ...
最新文章
- 网络卖家自曝黑幕 “信用刷手”欺骗你
- 毕业三年薪水翻三倍!?你想要吗?
- spring JdbcTemplate 在项目中的浅层(5个使用场景)封装
- 计算机论文指导书,计算机毕业论文指导书.doc
- Dalvik虚拟机相关的可执行程序
- 前端智勇大闯关-第二季-第三题
- M文件---脚本与函数
- excel线性拟合的斜率_excle指定斜率拟合 | 用Excel如何进行最小二乘法的线性拟合?求图解!...
- rgb转yuv422 matlab,MATLAB读取一张RGB图片转成YUV420格式、YUV422格式、YUV444格式
- openmv串口数据 串口助手_实例 | 使用Python串口实时显示数据并绘图
- 租房申请html模板,实用的租房房源标题模板
- 怎么防治计算机病毒,计算机病毒怎么防治
- python怎么测试一个网站的延迟_Python检测网络延迟的代码
- 程序员视角:鹿晗公布恋情是如何把微博搞炸的?
- 山东科技大学计算机篮球,球队资料:山东科技大学男子篮球队
- 计算机存储有哪些类型,存储主要分为哪些类型
- 计算机与现代化在线投稿,计算机与现代化投稿要求
- LSTM文本预测分析python
- python 培训课件
- 继 K3s 之后,又来个 K0s...
热门文章
- 香蕉派安装64位linux,BANANA PI 入门:香蕉派如何安装系统
- SCTP协议与程序设计案例
- mui如何对接java后台_MUI框架-09-MUI 与后台数据交互
- 雷达篇(十) dB和dBm的意义,功率W和dBm之间的换算
- 矩阵转置与矩阵对称性的关系
- 小米4c android5.1,奇兔刷机全网独家攻破小米4c安卓5.1支持一键刷机ROOT
- root 红米note5_小米红米Note 5(不要降级刷低版本)手机完美获取root教程,最强root工具,亲测可用!...
- 【Python K均值聚类算法】
- Cain嗅探工具的https数据捕获
- 安卓手机修改ntp服务器,修改安卓手机ntp服务器地址