Filter和Ajax

JavaWeb三大组件:Servlet、Filter、Listener

Ajax

概念

异步的JavaScript和XML,进行前后端数据交互的

作用

1、与服务器进行数据交换,通过AJAX可以给服务器发送请求,服务器将数据直接响应回给浏览器
2、异步交互:可以在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术

axios

对原生的AJAX进行封装,简化书写
使用:

  • 引入axios的js文件:
<script src="js/axios-0.18.0.js"></script>

或 在bootcdn.cn里在线获取

  • 使用axios发送请求,并获取响应结果
//发送get请求
axios({
    method:"get",
    url:"http://localhost:8080/ajax-demo1/aJAXDemo1?username=zhangsan"
}).then(function (resp){
    alert(resp.data);
})
//发送post请求
axios({
    method:"post",
    url:"http://localhost:8080/ajax-demo1/aJAXDemo1",
    data:"username=zhangsan"
}).then(function (resp){
    alert(resp.data);
});

小括号中使用js对象传递请求相关的参数

  • method属性,用来设置请求方式
  • url属性,用来书写请求的资源路径。如果是get请求,需要将请求参数拼接到路径后面,格式:
    url?参数名=参数值&参数名=参数值
  • data属性,作为请求体被发送的数据;如果是post请求的话,数据需要作为data属性的值
  • then需要传递一个匿名函数(回调函数)。该匿名函数在发送请求的时候不会被调用,而是在成功响应后调用的函数。resp参数是对响应的数据进行封装的对象,通过resp.data可以获取到响应的数据。

请求方法别名

在这里插入图片描述
在这里插入图片描述

JSON

js对象定义格式:
{
name:“zhangsan”,
age:23,
city:“北京”
}
json对象定义格式: json 格式中的键要求必须使用双引号括起来
{
“name”:“zhangsan”,
“age”:23,
“city”:“北京”
}

定义格式

var 变量名 = ‘{“key”:value,“key”:value,…}’;写在body的script里
value的数据类型:

  • 数字(整数或浮点数)
  • 字符串(使用双引号括起来)
  • 逻辑值(true或者false)
  • 数组(在方括号中)
  • 对象(在花括号中)
  • null

获取到该json串中的name值:

  • 如果是一个js对象:js对象.属性名
  • 如果是JSON对象:
    1、将JSON字符串转为JS对象:
    let jsObject = JSON.parse(jsonStr);
    2、将JS对象转换为JSON字符串:
    let jsonStr2 = JSON.stringify(jsObject);

发送异步请求携带参数

使用axios发送请求的时候,如果要携带复杂的数据时都会以JSON格式进行传递。而如果请求参数是JSON格式,那么请求方式必须是post,因为json串需要放在请求体中。

JSON串和JAVA对象的相互转换

请求数据:JSON字符串转为Java对象
响应数据:Java对象转为JSON字符串
Fastjson:实现 Java 对象和 JSON 字符串的相互转换的api。

Fastjson的使用

  • 导入坐标
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.62</version>
</dependency>
  • Java对象转JSON
    String jsonStr = JSON.toJSONString(obj);obj一般封装成对象
  • JSON字符串转为Java对象
    User user = JSON.parseObject(jsonStr,User.class)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值