Java中通过URL发送json

发送json的代码

package service.WxMessages;import com.alibaba.fastjson2.JSONObject;import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.Map;public class tokenSendServlet {public static void main(String[] args) {Map<String, String> tokenAndTime = new WxTokenRead().getTokenAndTime();String token = tokenAndTime.get("token");String time = tokenAndTime.get("time");JSONObject json = new JSONObject();json.put("token", token);json.put("time", time);String urlStr = "servlet/receiverToken";//发送数据的url,我这里发的是servletsendJsonPostRequest(json.toJSONString(), urlStr);}/*** 向指定URL发送JSON数据的POST请求。** @param json   JSON数据字符串* @param urlStr 目标URL字符串*/public static void sendJsonPostRequest(String json, String urlStr) {try {// 创建URL和HttpURLConnectionURL url = new URL(urlStr);HttpURLConnection connection = (HttpURLConnection) url.openConnection();// 设置请求方法为POSTconnection.setRequestMethod("POST");// 设置请求头Content-Type为application/jsonconnection.setRequestProperty("Content-Type", "application/json");// 设置允许输出connection.setDoOutput(true);// 写入JSON数据到请求体try (OutputStream os = connection.getOutputStream()) {byte[] input = json.getBytes(StandardCharsets.UTF_8);os.write(input, 0, input.length);}// 获取响应码int responseCode = connection.getResponseCode();System.out.println("Response Code : " + responseCode);// 关闭连接connection.disconnect();} catch (Exception e) {e.printStackTrace();}}
}

接收json的代码(写的servlet)

package servlet;import com.alibaba.fastjson2.JSONObject;
import dao.HikariConnection;
import jakarta.servlet.*;
import jakarta.servlet.http.*;
import jakarta.servlet.annotation.*;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.stream.Collectors;@WebServlet(urlPatterns = "/servlet/receiverToken", description = "这里是说明")
public class receiverToken extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {try {// 设置响应内容类型response.setContentType("text/html;charset=UTF-8");// 读取Postman发送的数据BufferedReader reader = new BufferedReader(new InputStreamReader(request.getInputStream()));String json = reader.lines().collect(Collectors.joining());System.out.println("Received JSON: " + json);// 解析整个JSON对象JSONObject jsonObject = JSONObject.parseObject(json);// 获取各个字段的值String token = jsonObject.getString("token");String time = jsonObject.getString("time");System.out.println("Token: " + token + " Time: " + time);// 更新数据库中的 token 和时间updateTokenAndTime(token, time);} catch (Exception e) {e.printStackTrace();System.out.println("/servlet/receiverToken 接收token和时间失败!json为空");}}@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}// 更新数据库中的 token 和时间public static int updateTokenAndTime(String token ,String time) {final String sql = "UPDATE wx_token SET token = ?, time = ? WHERE id = ?";int rowsAffected = 0;try {Connection conn = HikariConnection.getInstance(); // 从连接池中获取一个连接PreparedStatement ps = conn.prepareStatement(sql);ps.setString(1, token); // 设置新的 tokenps.setString(2, time); // 获取当前系统时间并设置ps.setInt(3, 1); // 设置要更新的记录的 idrowsAffected = ps.executeUpdate();if (rowsAffected > 0) {
//                System.out.println("Token 和时间更新成功!");} else {
//                System.out.println("Token 和时间更新失败!");}conn.close();} catch (SQLException e) {e.printStackTrace();//log.error("获取数据库连接失败!");} catch (Exception e) {e.printStackTrace();}return rowsAffected;}
}

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

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

相关文章

【论文复现|智能算法改进】基于自适应动态鲸鱼优化算法的路径规划研究

目录 1.算法原理2.改进点3.结果展示4.参考文献5.代码获取 1.算法原理 SCI二区|鲸鱼优化算法&#xff08;WOA&#xff09;原理及实现【附完整Matlab代码】 2.改进点 非线性收敛因子 WOA 主要通过控制系数向量 A 来决定鲸鱼是搜索猎物还是捕获猎物&#xff0c;即系数向量 A 可…

【LLM 论文】Self-Refine:使用 feedback 迭代修正 LLM 的 output

论文&#xff1a;Self-Refine: Iterative Refinement with Self-Feedback ⭐⭐⭐⭐ CMU, NeurIPS 2023, arXiv:2303.17651 Code: https://selfrefine.info/ 论文速读 本文提出了 Self-Refine 的 prompt 策略&#xff0c;可以在无需额外训练的情况下&#xff0c;在下游任务上产…

【FFmpeg】avcodec_alloc_context3函数

目录 1.avcodec_alloc_context3 FFmpeg相关记录&#xff1a; 示例工程&#xff1a; 【FFmpeg】调用ffmpeg库实现264软编 【FFmpeg】调用ffmpeg库实现264软解 【FFmpeg】调用ffmpeg库进行RTMP推流和拉流 【FFmpeg】调用ffmpeg库进行SDL2解码后渲染 流程分析&#xff1a; 【FFm…

蒂升电梯职业性格和Verify认知能力SHL测评答题攻略及薪资待遇解密!

​一、蒂升电梯职业性格和认知能力测评考什么 您好&#xff01;蒂升电梯公司邀请您参加的OPQ职业性格测评和Verify认知能力测评是两种常见的评估工具&#xff0c;用于帮助了解个人的职场性格特点和认知能力。 OPQ职业性格测评 这是一种性格测试&#xff0c;通常用于评估个人在…

PostgreSQL介绍与安装

一、PostgreSQL数据库介绍 1、什么是数据库&#xff1f; 数据库&#xff08;Database&#xff09;是按照数据结构来组织、存储和管理数据的仓库。每个数据库都有一个或多个不同的 API 用于创建&#xff0c;访问&#xff0c;管理&#xff0c;搜索和复制所保存的数据。 我们也…

倒装COB显示屏与传统SMD显示屏安装方式有哪些不同?

COB显示屏与传统SMD显示屏是商业显示领域中非常重要的两种载体&#xff0c;在前面的文章当中我们为大家阐述了倒装COB显示屏的技术特点&#xff0c;今天跟随COB显示屏厂家深圳市中品瑞科技一起来看看&#xff0c;COB显示屏的安装与传统LED显示屏的安装有哪些不同&#xff1f; 一…

数据结构之“刷链表题”

&#x1f339;个人主页&#x1f339;&#xff1a;喜欢草莓熊的bear &#x1f339;专栏&#x1f339;&#xff1a;数据结构 目录 前言 一、相交链表 题目链接 大致思路 代码实现 二、环形链表1 题目链接 大致思路 代码实现 三、环形链表2 题目链接 大致思路 代码实…

爬虫逆向实战(41)-某巢登陆(AES、MD5、RSA、滑块验证码)

一、数据接口分析 主页地址&#xff1a;某巢 1、抓包 通过抓包可以发现在登录时&#xff0c;网站首先请求captcha/querySlideImage/来获取滑块验证码的图片&#xff0c;然后请求captcha/checkCode/接口来验证滑块验证码。滑块验证码校验成功后&#xff0c;请求noshiro/getPu…

论坛万能粘贴手(可将任意文件转为文本)

该软件可将任意文件转为文本。 还原为原文件的方法&#xff1a;将得到的文本粘贴到记事本&#xff0c;另存为UUE格式&#xff0c;再用压缩软件如winrar解压即可得到原文件。建议用于小软件。 下载地址&#xff1a;https://download.csdn.net/download/wgxds/89505015 使用演示…

【PYG】切片语法[:,]

在 Python 中&#xff0c;使用切片语法 [:,] 是一种方便的方式来选择多维数组或张量的特定部分。具体来说&#xff0c;这种语法在处理 NumPy 数组或 PyTorch 张量时非常有用。让我们详细解释一下为什么可以写成 [:, :] 以及这种语法的含义。 切片语法解释 :&#xff1a;表示选…

pytorch自适应的调整特征图大小

文章目录 代码 代码 256256 --> 224224 import torch import torch.nn as nn# 假设 x 是你的特征图&#xff0c;形状为 (4, 32, 256, 256) x torch.randn(4, 32, 256, 256)# 方法一&#xff1a;使用自适应平均池化调整大小 adaptive_avg_pool nn.AdaptiveAvgPool2d((224…

Kafka 位移

Consumer位移管理机制 将Consumer的位移数据作为一条条普通的Kafka消息&#xff0c;提交到__consumer_offsets中。可以这么说&#xff0c;__consumer_offsets的主要作用是保存Kafka消费者的位移信息。使用Kafka主题来保存位移。 消息格式 位移主题就是普通的Kafka主题。也是…

【JavaScript脚本宇宙】探索前端打包利器:从Webpack到Esbuild的全面解析

即刻更新&#xff0c;无缝开发&#xff1a;六大打包工具的热重载实战指南 前言 在现代前端开发中&#xff0c;高效的模块打包工具对提高开发效率和代码质量起着至关重要的作用。本文将详细介绍六种流行的JavaScript打包工具&#xff1a;Webpack、Parcel、Vite、Snowpack、Rol…

基于KDE下kcrash框架二次开发core dump工具

将kde下框架的源码编译后安装使用 配置环境和依赖 根据kcrash源码的cmakelist文件可知该项目的主要环境和依赖包括&#xff1a; qt6.6以上&#xff1b;EMC6.4&#xff08;KDE下EMC框架&#xff0c;其他地方没找到这个版本的EMC&#xff09;&#xff0c;KCoreAddons&#xff0…

HCIE实验这样玩太高级了吧?实现FRR+BFD+OSPF与BGP的联动

号主&#xff1a;老杨丨11年资深网络工程师&#xff0c;更多网工提升干货&#xff0c;请关注公众号&#xff1a;网络工程师俱乐部 晚上好&#xff0c;我的网工朋友。 今天搞个HCIE实验玩玩&#xff0c;上回分享了个张总讲解的防火墙配置实验思路&#xff0c;后来还特地搞了个视…

GPT-4o文科成绩超一本线,理科为何表现不佳?

目录 01 评测榜单 02 实际效果 什么&#xff1f;许多大模型的文科成绩竟然超过了一本线&#xff0c;还是在竞争激烈的河南省&#xff1f; 没错&#xff0c;最近有一项大模型“高考大摸底”评测引起了广泛关注。 河南高考文科今年的一本线是521分&#xff0c;根据这项评测&…

python与matlab微分切片的区别

python python使用np中的linespace生成等间隔数值&#xff0c; import numpy as np numpy.linspace(start, stop, num50, endpointTrue, retstepFalse, dtypeNone, axis0)start&#xff1a;序列的起始值。stop&#xff1a;序列的结束值。如果 endpoint 为 True&#xff0c;该…

代码随想录算法训练营第55天 [ 42. 接雨水 84.柱状图中最大的矩形]

代码随想录算法训练营第55天 [ 42. 接雨水 84.柱状图中最大的矩形] 一、42. 接雨水 链接: 代码随想录. 思路&#xff1a;找到左边第一个大于我的和右边第一个大于我的 做题状态&#xff1a;看解析后做出来了 //暴力法&#xff08;会超时&#xff09; class Solution { public:i…

CesiumJS【Basic】- #043 绘制脉冲线(Entity方式)- 需要自定义着色器

文章目录 绘制脉冲线(Entity方式)- 需要自定义着色器1 目标2 代码2.1 main.ts3 资源文件绘制脉冲线(Entity方式)- 需要自定义着色器 1 目标 使用Entity方式绘制脉冲线 2 代码 2.1 main.ts import * as Cesium from cesium;const viewer = new Cesium.Viewer(cesiumCont…

【TB作品】打地鼠游戏,ATMEGA16单片机,Proteus仿真 打地鼠游戏

11个按键LCD1602显示器9个灯蜂鸣器打地鼠小游戏就是九个灯泡&#xff0c;对应九个按键&#xff0c;灯泡有红黄蓝&#xff0c;每间隔一会儿就会亮一个灯&#xff0c;代表地鼠冒出来&#xff0c;按一下按键让灯泡灭掉代表打地鼠&#xff0c;红的三分&#xff0c;黄的两分&#xf…