Axios异步框架和Json数据格式

一.Axios异步框架

对原生的Ajax进行封装,简化书写。

给大家提供一下axios的源码:

链接:https://pan.baidu.com/s/1ZSrUBe0B4dIq7d6NpUzqOQ 
提取码:gr86 

 

将源码粘贴到项目之中。 

1.基础使用

首先单独创建一个Servlet:

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@WebServlet("/AxiosServlet")
public class Axios_Servlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String method =req.getMethod();System.out.println(method+"方法已启动~");String username= req.getParameter("username");System.out.println(username);resp.setContentType("text/html;charset=UTF-8");resp.getWriter().write("Axios启动~");}@Overrideprotected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {this.doGet(req, resp);}
}

引入外部js:

 <script src="js/axios-0.18.0.js"></script>

 如果是get方法,则参数直接写进Url:

      axios({//大括号即为js对象method:"get",url:"http://localhost:8080/Ajax_S1_war/AxiosServlet?username=jsl"}).then(function (resp){alert(resp.data);})

如果是post方法,则把参数写进data域:

      axios({//大括号即为js对象method:"post",url:"http://localhost:8080/Ajax_S1_war/AxiosServlet",data:"username=jsl"}).then(function (resp){alert(resp.data);})

2.别名方法

当然Axios内部可以直接调用get和post方法:

      axios.get("http://localhost:8080/Ajax_S1_war/AxiosServlet?username=jsl").then(function (resp){alert(resp.data);})axios.post("http://localhost:8080/Ajax_S1_war/AxiosServlet","username=jsl").then(function (resp){alert(resp.data);})

均可启动成功:

 

 

二.Json数据格式

 

        全名JavaScript Object Notation,即JS简谱、JS对象表示法。由于其语法简单,层次结构鲜明,现在多用于作为数据载体,在网络中进行数据传输。

1.基础语法

      var jsl={"gender":"man","age":23,home:["拜仁","国米","阿贾克斯"]}alert(jsl.home[0]);

非常简单,不再赘述~

 

2.Java对象转换

 

  • 请求数据:json字符串变为Java对象
  • 响应数据:Java对象变为json字符串

采用阿里巴巴的API:Fastjson

导入坐标:

<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.62</version>
</dependency>

 创建一个用于测试的类:

public class TestDemo {private Integer id;private String username;private String password;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}@Overridepublic String toString() {return "TestDemo{" +"id=" + id +", username='" + username + '\'' +", password='" + password + '\'' +'}';}
}

主方法中测试:

import com.alibaba.fastjson.JSON;public class Main {public static void main(String[] args) {//1.Java转换为JsonTestDemo TD=new TestDemo();TD.setId(1);TD.setPassword("123456");TD.setUsername("jsl");String jsonOb = JSON.toJSONString(TD);System.out.println(jsonOb);}
}

打印出json格式的数据: 

然后是字符串转为java对象:

 //2.json转为javaTestDemo t= JSON.parseObject("{\"id\":1,\"password\":\"123\",\"username\":\"zhangsan\"}",TestDemo.class);System.out.println(t);

 

 

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

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

相关文章

Godot 学习笔记(2):信号深入讲解

文章目录 前言相关链接环境信号简单项目搭建默认的信号先在label里面预制接收函数添加信号 自定义无参数信号为了做区分&#xff0c;我们在label新增一个函数 自定义带参数信号Button代码label代码连接信号 自定义复杂参数信号自定义GodotObject类ButtonLabel连接信号 信号函数…

数字IC实践项目(9)—SNN加速器的设计和实现(tiny_ODIN)

数字IC实践项目&#xff08;9&#xff09;—基于Verilog的SNN加速器 写在前面的话项目整体框图完整电路框图 项目简介和学习目的软件环境要求 Wave&CoverageTiming&#xff0c;Area & Power总结 写在前面的话 项目介绍&#xff1a; SNN硬件加速器是一种专为脉冲神经网…

uniapp样式穿透修改uview的按钮button图标

需求&#xff1a; 想给按钮icon和text改字体颜色&#xff0c;结果发现图标颜色并没有改变 .u-button{width: 300rpx;background-color: aliceblue;color: #aaaa7f;margin-top: 20rpx; }接下来用样式穿透解决 1、首先&#xff0c;给UI组件包裹一层view <view class"t…

ElasticSearch:数据的魔法世界

​ 欢迎来到ElasticSearch的奇妙之旅&#xff01;在这个充满魔法的搜索引擎世界中&#xff0c;数据不再是沉闷的数字和字母&#xff0c;而是变得充满活力和灵动。无论你是刚刚踏入数据探索的小白&#xff0c;还是已经对搜索引擎有所了解的行者&#xff0c;本篇博客都将为你揭示…

unity内存优化之AB包篇(微信小游戏)

1.搭建资源服务器使用(HFS软件(https://www.pianshen.com/article/54621708008/)) using System.Collections; using System.Collections.Generic; using UnityEngine;using System;public class Singleton<T> where T : class, new() {private static readonly Lazy<…

【集成开发环境】-VS Code:C/C++ 环境配置

简介 VS Code&#xff0c;全称Visual Studio Code&#xff0c;是一款由微软开发的跨平台源代码编辑器。它支持Windows、Linux和macOS等操作系统&#xff0c;并且具有轻量级、高效、可扩展等特点&#xff0c;深受广大开发者的喜爱。 VS Code拥有丰富的功能特性&#xff0c;包括…

c语言(字符串函数和内存函数的模拟实现)

1、模拟strlen&#xff08;临时变量法&#xff09; #include <stdio.h> #include <assert.h> int my_strlen(const char* str); int main() {char str[] "abcdefh";int ret my_strlen(str);printf("%d", ret);return 0; } int my_strlen( c…

代码随想录算法训练营第四十七天|198.打家劫舍, 213.打家劫舍II , 337.打家劫舍III

198.打家劫舍 https://leetcode.com/problems/house-robber/description/ 思路&#xff1a; 经典的动态规划问题&#xff0c;首先确定dp 数组记录的是打劫到第i家时的收获&#xff0c; dp[0] 0&#xff0c; dp[1] values[0]. 然后到第i 家有两个选择&#xff0c; 一个是打劫…

koa2+vue3通过exceljs实现数据导出excel文档

服务端安装exceljs依赖 npm i exceljs服务端实现代码 实现导出excel文件工具方法 const ExcelJS require(exceljs); /*** description: 导出excel文件* param {*} fileHeader 导出的表头* param {*} data 导出的数据* param {*} ctx 上下文对象* return {*}*/ async funct…

计算机三级网络技术综合题第三题、第四题详细解析

第三大题 DHCP报文分析&#xff08;10分&#xff09; 一、DHCP工作流程&#xff08;一般情况下&#xff09; 报文摘要 对应上面报文1—4 报文1、3DHCP&#xff1a;Request&#xff1b; 报文2、4DHCP&#xff1a;Reply。 例题&#xff08;第三套&#xff09;&#xff1a;在一…

Flutter 当涉及Listview的复杂滑动布局良好布局方式

目录 引 代码以及概叙 详细解释 SingleChildScrollView shrinkWrap 属性 NeverScrollableScrollPhysics 引 当我们构建界面&#xff0c;很多时候都会需要显示一个能滑动的流布局&#xff0c;同时这个布局还要有些其他的界面元素&#xff0c;同时在flutter中&#xff0c;滑…

大型项目中的敏捷开发实践:原则、方法与工具的应用经验分享

引言 在软件开发领域&#xff0c;大型项目往往伴随着高风险和复杂性&#xff0c;传统的瀑布模型往往难以应对快速变化的需求和不确定的环境。而敏捷开发方法以其灵活、快速响应变化的特点&#xff0c;逐渐成为大型项目管理的有力武器。本文旨在分享我在大型项目中应用敏捷开发…

程序员入行忠告!

点击下方“JavaEdge”&#xff0c;选择“设为星标” 第一时间关注技术干货&#xff01; 关注我&#xff0c;紧跟本系列专栏文章&#xff0c;咱们下篇再续&#xff01; 作者简介&#xff1a;魔都技术专家兼架构&#xff0c;多家大厂后端一线研发经验&#xff0c;各大技术社区头部…

十大经典排序之归并排序

文章目录 概要整体架构流程代码实现小结 概要 归并排序&#xff08;Merge sort&#xff09;是建立在归并操作上的一种有效的排序算法。该算法是采用分治法&#xff08;Divide and Conquer&#xff09;的一个非常典型的应用。 作为一种典型的分而治之思想的算法应用&#xff0…

十五、自回归(AutoRegressive)和自编码(AutoEncoding)语言模型

参考自回归语言模型&#xff08;AR&#xff09;和自编码语言模型&#xff08;AE&#xff09; 1 自回归语言模型&#xff08; AR&#xff09; 自回归语言模型&#xff08;AR&#xff09;就是根据上文内容&#xff08;或下文内容&#xff09;预测下一个&#xff08;或前一个&…

安装OpenEBS,镜像总是报错ImagePullBackOff或者ErrImagePull的解决方法

按照 KubeSphere 官方文档安装 OpenEBS&#xff0c;镜像总是报错ImagePullBackOff或者ErrImagePull的解决方法 helm 有很多更换 源 的文章&#xff0c;有一些是写更换阿里云的源&#xff0c;但是阿里云的源根本没更新OpenEBS的镜像。 在网上找到1个可用的源&#xff1a; 可用的…

VSCODE的常用插件

1、中文设置 &#xff08;1&#xff09;搜索 chinese Chinese (Simplified) Language Pack for Visual Studio Code C/C Extension Pack &#xff08;2&#xff09;配置 通过使用“Configure Display Language”命令显式设置 VS Code 显示语言&#xff0c;可以替代默认 UI…

计算最长的字符串长度

本题要求实现一个函数&#xff0c;用于计算有n个元素的指针数组s中最长的字符串的长度。 函数接口定义&#xff1a; int max_len( char *s[], int n ); 其中n个字符串存储在s[]中&#xff0c;函数max_len应返回其中最长字符串的长度。 裁判测试程序样例&#xff1a; #inclu…

Django性能优化

1.服务器CPU太高的优化 1>在Django项目中使用line_profiler进行性能剖析&#xff0c;您需要遵循以下步骤来设置并使用它&#xff1a; 注&#xff1a;此种方式似乎中间件无法启动&#xff01;&#xff01;&#xff01; 要使用Django与line_profiler进行特定视图的性能测试…

探讨TCP的可靠性以及三次握手的奥秘

&#x1f31f; 欢迎来到 我的博客&#xff01; &#x1f308; &#x1f4a1; 探索未知, 分享知识 !&#x1f4ab; 本文目录 1. TCP的可靠性机制1.2可靠性的基础上,尽可能得提高效率 2. TCP三次握手过程3. 为何不是四次握手&#xff1f; 在互联网的复杂世界中&#xff0c;TCP&am…