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