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还可以方便的实现建造者模式,创建对象 …

Java中Collections.singletonList用法

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

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 …

ADSL提速 从入门到精通

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

Swift开发图解入门

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

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

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

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

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

mysql+phpmyadmin配置流程

mysqlphpmyadmin配置流程:环境:Apachephp5mysql5下载包:phpMyAdmin-2.11.9.4-all-languages-utf-8-only.tar.gz不能下就到这里下载 [url]http://www.phpmyadmin.net/home_page/downloads.php[/url]一:安装配置1> 安装包&#x…

form表单多文件上传

1.html/jsp主页 <% page language"java" contentType"text/html; charsetUTF-8"pageEncoding"UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"…

JS学习记录(BOM部分)

BOOM部分 Screen <html lang"en"> <head><meta charset"UTF-8"><title>Screen</title> </head> <body></body> <script>console.log(screen.width);console.log(screen.height);console.log(screen…

在linux上安装jdk(转载)

软件环境&#xff1a; 虚拟机&#xff1a;VMware Workstation 10 操作系统&#xff1a;Ubuntu-12.04-desktop-amd64 JAVA版本&#xff1a;jdk-7u55-linux-x64 软件下载地址&#xff1a; JDK&#xff1a;http://www.oracle.com/technetwork/java/javase/downloads/index.html &a…

WebService大讲堂之Axis2(1):用POJO实现0配置的WebService

Axis2是一套崭新的WebService引擎&#xff0c;该版本是对Axis1.x重新设计的产物。Axis2不仅支持SOAP1.1和SOAP1.2&#xff0c;还集成了非常流行的REST WebService&#xff0c;同时还支持Spring、JSON等技术。这些都将在后面的系列教程中讲解。在本文中主要介绍了如何使用Axis2开…