java http请求实现_java工程实现http请求接口

java工程实现http请求接口

java工程实现http请求接口

1.实现代码

package com.home;

import com.alibaba.fastjson.JSON;

import com.alibaba.fastjson.JSONObject;

import com.sun.net.httpserver.HttpExchange;

import com.sun.net.httpserver.HttpHandler;

import com.sun.net.httpserver.HttpServer;

import java.io.*;

import java.net.InetSocketAddress;

import java.net.URI;

public class Test {

public static void main(String[] args) throws IOException {

HttpServer httpServer = HttpServer.create(new InetSocketAddress(9999), 0);

httpServer.createContext("/test", new TestHandler());

httpServer.start();

}

//接口接收处理器

static class TestHandler implements HttpHandler {

@Override

public void handle(HttpExchange httpExchange) throws IOException {

httpExchange.sendResponseHeaders(200, 0);

//获取请求路径

URI requestURI = httpExchange.getRequestURI();

System.out.println("请求路径为:"+requestURI);

//获取请求体

InputStream requestBody = httpExchange.getRequestBody();

InputStreamReader inputStreamReader = new InputStreamReader(requestBody);

BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

StringBuffer stringBuffer = new StringBuffer();

String s = "";

while ((s = bufferedReader.readLine()) != null) {

stringBuffer.append(s.trim());

}

//将字符串编码转为utf-8,防止中文乱码

String a = new String(stringBuffer.toString().getBytes(),"utf-8");

//将字符串用json读取

JSONObject jsonObject = JSON.parseObject(a);

OutputStream responseBody = httpExchange.getResponseBody();

responseBody.write(test(jsonObject));

responseBody.close();

}

private int test(JSONObject jsonObject) {

System.out.println("请求体为:"+jsonObject);

return 1;

}

}

}

2.postman请求

32fa049ce530490f26acc9d28817e366.png

3.请求成功

fbb9c43e1ae8301c412bc745180b27f7.png

java工程实现http请求接口相关教程

Java字符串相关的类详解

Java字符串相关的类详解 目录 一.String类 1.初识String 2.String的特性 3.String对象的创建(以Java 8为例) 4.String对象的存储解析 5.String与byte[]、char[]直之间的转换 6.String中常用方法 二.StringBuffer类 1.StringBuffer类概述 2.StringBuffer中常

软件工程UML建模语言

软件工程UML建模语言 文章目录 地址及来源 1.1 Software Concept Software History Software Concept Software Characteristics 该笔记源于中国大学MOOC中张爽老师的《软件工程》。 地址:https://www.icourse163.org/course/NEU-1001812013#/info 1.1 Softw

synchronized的实现原理与应用

synchronized的实现原理与应用 文章目录 java对象头 MarkWord 锁升级 偏向锁 轻量级锁 锁优化 锁的优缺点对比 MarkWord 这部分主要用来存储对象自身的运行时数据,如hashcode、gc分代年龄等。mark word的位长度为JVM的一个Word大小,也就是说32位JVM的Mark w

两个有序链表合并为一个有序链表(Java实现)

两个有序链表合并为一个有序链表(Java实现) 解题思路: 以升序为例 第一步当然是判空 如果其中一个链表为空 则返回另一个链表即可 要有序 所以需要比较结点大小 创建两个引用指向两个链表 同时分别创建将要合成链表的头和尾 比较两个结点的大小 将较小的结

Redis的主从复制实现原理

Redis的主从复制实现原理 文章目录 Redis的主从复制 旧版的复制实现 新版的复制实现 部分重同步 1.复制偏移量 2.复制积压缓冲区 3.服务器运行ID psync 复制的实现 1. 步骤一:设置主服务器的地址和端口 2. 步骤二:建立套接字连接 3. 步骤三:发送PING命令 4.

《Head First Java》20201001读书笔记

《Head First Java》20201001读书笔记 P258-P265 对象的生命周期要看引用变量的生命周期。 public class TestLifeOne{public void read(){int a = 42;//s的范围只限于read()里面,到处无法使用sleep();}public void sleep(){s = 7;//非法使用}} 局部变量只会

QT tcp服务端一对多,实现给多个客户端发送文件

QT tcp服务端一对多,实现给多个客户端发送文件 用途:本来是用于给单片机收发消息的,只做了服务端,客户端是用别的网络调试助手测试。 展示 *不想看我逼逼的,源代码在这里:*链接:https://pan.baidu.com/s/1CEXj6wTF2UMn8GjrI0JBvA 提取码:bogl 一、实现

剑指offer0.3数组中重复的数字(python实现)

剑指offer0.3数组中重复的数字(python实现) 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/268769.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java集合中removeIf的使用

使用removeIf方法从List中删除元素 在JDK1.8中,Collection以及其子类新加入了removeIf方法,作用是按照一定规则过滤集合中的元素。这里展示removeIf的用法。 需求是过滤掉学生中分数为为18以下的, 一个学生实体类 Data public class Studen…

Java中lombok @Builder注解使用详解

简介 Lombok大家都知道,在使用POJO过程中,它给我们带来了很多便利,省下大量写get、set方法、构造器、equal、toString方法的时间。除此之外,通过Builder注解,lombok还可以方便的实现建造者模式,创建对象 …

鼠标控制

一)客户端 using System;using System.Net;using System.Net.Sockets;using System.Text;using System.IO;using System.Threading; namespace 鼠标控制_客户端{ //我们定义一个保存鼠标坐标的结构 public struct MousePosition { private int x; …

java resourcebundle_Java - Properties和ResourceBundle类学习

一、前言在项目的开发过程中,为了统一配置的管理,我们经常需要将一些配置信息根据环境的不同,配置在不同的properties中,然后从里面进行读取。而Properties类作为最基础也是最经常使用的类,通过本文我们来学习一下它的…

Java中Collections.singletonList用法

Collections.singletonList()返回的是不可变的集合,但是这个长度的集合只有1,可以减少内存空间。但是返回的值依然是Collections的内部实现类,同样没有add的方法,调用add,set方法会报错 调用add方法报错 Exception in…

最近找工作的面试经历

来到广州已经一个星期了&#xff0c;招聘会参加了两场&#xff0c;面试了三间公司&#xff0c;但都是通知回去等结果。回想一下这几天的面试经历&#xff0c;感觉自己要学的东西还很多。 <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office&quo…

CF Round410 D. Mike and distribution

D. Mike and distribution 构造法 798D - Mike and distribution In the beginning, its quite easy to notice that the condition " 2(ap1  ...  apk) is greater than the sum of all elements in A " is equivalent to " ap1  ...  apk is greater …

OOAD实践之路——真实案例解析OO理论与实践(二、第一项任务:特性列表)

查看本系列全部文章&#xff1a;《OOA&D实践之路——真实案例解析OO理论与实践》索引贴 第一份说明 当这个项目开始时&#xff0c;我们得到的关于我们要做的系统的唯一说明是一页Word文档&#xff0c;这是一份简单的不能再简单的说明。文档里只有一行字&#xff1a;我…

CSS3常用属性及用法

1.transition: 过渡属性&#xff0c;可以替代flash和javascript的效果 兼容性&#xff1a;Internet Explorer 9 以及更早的版本&#xff0c;不支持 transition 属性。 Chrome 25 以及更早的版本&#xff0c;需要前缀 -webkit-。 Safari 需要前缀 -webkit-。 div { transition: …

ADSL提速 从入门到精通

虽然现在的宽带速率已经很快了&#xff0c;但是大家还是希望在以下方面提升一下应用速度&#xff1a;电影BT下载时、在线影音播放时、FTP文件传送时等。广大网友也因此探寻出不少提升宽带速率的方法&#xff0c;那么&#xff0c;都有哪些简单可行的提速方法呢&#xff1f;它们的…

Swift开发图解入门

《论语卫灵公》有一段经典对白&#xff1a;『子贡问为仁。子曰&#xff1a;工欲善其事&#xff0c;必先利其器。……』。对于一个程序猿来说&#xff0c;好的工具不意味着一定能产生优质的代码。可是好的工具对提升开发效率的作用还是不言而喻的。想要用Swift做iOS开发。唯一可…

java 负数存储结构_负数在java中的存储和读取过程 | 学步园

问题描述&#xff1a;将-5存储在文本文件中&#xff0c;再读取出来显示到控制台;预备知识&#xff1a;1.在java中使用补码处理数字&#xff0c;而且byte(8)的数字在扩展成int(32)类型的时候&#xff0c;正数填充0&#xff0c;负数填充1;2.负数的转变过程&#xff0c;正数的原码…

爆笑:可怜的话剧演员

地点&#xff1a;中央戏剧学院的话剧排练场。   事件&#xff1a;一场文艺剧目的排练。   人物&#xff1a;一男一女。   女&#xff08;羞涩的&#xff09;&#xff1a;我看啊&#xff0c;咱俩的婚事儿&#xff0c;都是你妈逼的。   男&#xff08;憨笑著&#xff0…

获取文本中你须要的字段的 几个命令 grep awk cut tr sed

1,grep 2,awk 3,cut 4,tr 5,sed 实例1 获取本地IP地址 /sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6 | awk {print $2} | tr -d "addr:" 实例2 sed 的使用。去掉某字段 前后的值 grep "select" slow.log | grep "from" | s…

一升的眼泪 日记原文+剧照

作者 木藤亚也14岁——我的家人  “我不能活动&#xff0c;可是我想活着……”   然而&#xff0c;我怎么也想不到&#xff0c;就在我生日这一天&#xff0c;却发生了一场悲剧——玛丽被邻居家养的大狗“老虎”咬破头&#xff0c;死了。玛丽虽然身体小小的&#x…

[补档]暑假集训D5总结

%dalao 今天又有dalao来讲课&#xff0c;讲的是网络流网络流——从入门到放弃&#xff1a;7-29dalao讲课笔记——https://hzoi-mafia.github.io/2017/07/29/27/果然是从入门到放弃啊&#xff0c;dalao本来说好下午继续讲完的&#xff0c;然后——就没有然后了重要的是&#xff…

在多线程中使用UDP

在多线程中使用UDP来自&#xff1a;painboy, 时间&#xff1a;2004-8-8 11:34:40, ID&#xff1a;2754268 type TUdpThread class(TThread) private FData : PChar; //数据区 FBytes : Integer; //数据区大小 FFromIP : string; //UDP的…