Listener(监听器)

可以在application、session和request三个对象创建

Javaweb提供了8个监听器,其中较为典型的是ServletContextListener监听器,其余监听器均与该监听器语法类似,可供参考

AJAX(异步的JavaScript和XML)

AJAX官网地址:https://www.w3school.com.cn/js/js_ajax_http_response.asp

作用:

1、与服务器进行数据交换:通过ALAX可以给服务器发送请求,并获取服务器响应的数据---使用了ALAX和服务器进行通信,就可以使用HTML+ALAX来替换JSP页面
2、异步交互:不重新加载整个页面,只是更新部分界面

AJAX快速入门

1、编写AjaxServlet,并使用response输出字符串

即------响应数据

在AjaxServlet.java文件的doGet函数中实现响应数据的操作:

response.getWriter().write("hello ajax~");
2、创建XMLHttpRequest对象:用于和服务器交换数据(下方代码为官网复制所得)
var xmlhttp;
if (window.XMLHttpRequest)
{
// IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
xmlhttp=new XMLHttpRequest();
}
else
{
// IE6, IE5 浏览器执行代码
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
3、向服务器发送请求
xhttp.open("GET", "ajax_info.txt", true);
xhttp.send();
4、获取服务器响应数据
 xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("demo").innerHTML =
this.responseText;
}
};

Axios异步框架

Axiox官网网址:https://www.axios-http.cn/(起步,走你)

Axiox快速入门

记得需要创建一个axioxServlet相关的.java文件,结构与之前的Servlet文件相同,均继承自HttpServlet,且均具有doGetdoPost方法

1、引入axiox的js文件
<script src="js/axiox-0.18.0.js"></script>
2、使用axiox发送请求,并获取响应结果
//Get

//在doGet方法里面写入:

System.out.println("get...");

//接收请求参数
String username=req.getParameter("username");
System.out.println(username); //在demo.html里面写入: axiox({
method:"get"
url:"http://localhost:8080/tt0929/Listener?username=zhangsan"
}).then(function (resp){
alert(resp.date);
}) //Post //在doPost方法里面写入: System.out.println("post...");
this.doGet(req,resp); //demo.html里面写入: axiox({
method:"post"
url:"http://localhost:8080/tt0929/Listener?",
date:"username=zhangsan"
}).then(function (resp){
alert(resp.date);
})

Axiox请求方式别名(更加方便)

//Get

axiox.get("http://localhost:8080/tt0929/Listener?username=zhangsan").then(function (resp){alert(resp.date);
}) //Post axiox.post("http://localhost:8080/tt0929/Listener","username=zhangsan").then(function (resp){alert(resp.date);
})

JSON(JavaScript对象表示法)

JSON基础语法

//定义

var 变量名={"key1":变量值1
"key2":变量值2
...
}
//获取数据 alert(变量名.变量值1/2);

JSON数据和Java数据对象转换

导入坐标:fastjson包

请求数据(JSON字符串转为Java对象)
User u=JSON.parseObject(str,User.class);//将前者的形式转换为后者的形式
System.out.println(u);
响应数据(Java对象转为JSON字符串)
//Java对象转为JSON对象

//.java文件中
User user=new User();//新建一个User对象
user.setId(id);
user.setUsername(username);
user.setPassword(password); String jsonString=JSON.toJSONString(user);

Javaweb学习笔记第十五弹--Listente概述、AJAX、Axiox、JSON的更多相关文章

  1. Javaweb学习笔记——(十五)—————— sql复习

    sql复习 数据库管理系统(DBMS)的概述 1.什么是DBMS:数据的仓库 *方便查询 *可存储的数据量大 *保证数据的完整.一致 *安全可靠 2.DBMS的发展:今天主流数据库为关系型数据库管理系 ...

  2. JavaWeb学习笔记(十五)—— 使用JDBC进行批处理

    一.什么是批处理 批处理就是一批一批的处理,而不是一个一个的处理! 当你有10条SQL语句要执行时,一次向服务器发送一条SQL语句,这么做效率上很差!处理的方案是使用批处理,即一次向服务器发送多条SQ ...

  3. VSTO学习笔记(十五)Office 2013 初体验

    原文:VSTO学习笔记(十五)Office 2013 初体验 Office 2013 近期发布了首个面向消费者的预览版本,我也于第一时间进行了更新试用.从此开始VSTO系列全面转向Office 201 ...

  4. Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例

    目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装项目其它需要包 清除冗余文件并重新规划项目目录 配置文件 规划示例路由,并新建相关文件 实现数据访问和业务逻辑相关方法 编写mys ...

  5. [转]Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例

    本文转自:https://www.cnblogs.com/zhongweiv/p/nodejs_koa2_webapp.html 目录 前言 搭建项目及其它准备工作 创建数据库 创建Koa2项目 安装 ...

  6. python3.4学习笔记(二十五) Python 调用mysql redis实例代码

    python3.4学习笔记(二十五) Python 调用mysql redis实例代码 #coding: utf-8 __author__ = 'zdz8207' #python2.7 import ...

  7. Nodejs学习笔记(十五)—Node.js + Koa2 构建网站简单示例

    前言 前面一有写到一篇Node.js+Express构建网站简单示例:http://www.cnblogs.com/zhongweiv/p/nodejs_express_webapp.html 这篇还 ...

  8. 如鹏网学习笔记(十五)ASP.NET MVC核心基础笔记

    一.ASP.Net MVC简介 1,什么是ASP.NET MVC? HttpHandler是ASP.net的底层机制,如果直接使用HttpHandler进行开发难度比较大.工作量大.因此提供了ASP. ...

  9. Android学习笔记(十五)——实战:强制下线

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 实现强制下线功能的思路也比较简单,只需要在界面上弹出一个对话框, 让用户无法进行任何其他操作, 必须要点击对话 ...

  10. Dynamic CRM 2013学习笔记(十五)报表设计:报表入门、开发工具及注意事项

    本文是关于CRM 2013报表开发入门介绍,包括开发工具的使用,以及不同于普通Reporting service的相关注意事项. 一.CRM报表简介 报表有两种,SQL-based报表和Fetch-b ...

随机推荐

  1. Java基础——控制语句、switch结构与三元运算符

    package com.zhao.demo; public class Demo03 { public static void main(String[] args) { int num=1; swi ...

  2. Linux 库的使用

    Linux 库的使用 -I头文件的路径-L动态库的路径   命名 使用 静态库 lib名字.a 静态库路径/lib名字.a 动态库 lib名字.so -L动态库路径 -l名字 编译 #静态编译 # g ...

  3. 用shape-outside实现文字环绕、CSS圆锥色彩渐变、指定背景在容器上如何附着、长度单位vh

    用shape-outside实现文字环绕 实现效果: 介绍:shape-outside是让文字从图片外部开始环绕,以及设置图片的形状. 函数定义: circle(size at x y);用于制作圆形 ...

  4. iOS 为 textView 添加 placeholder

    OC : //自定义一个 placeholder 样式的 label UILabel *placeholder = [UILabel new]; placeholder.text = @"请 ...

  5. char和int的类型转换

    char类型是16位的,底层采用unicode编码保存.char类型是可以直接赋值给int类型的,因为是16位到32位低到高.举个例子比如int i='1';打印i的值是49.char类型跟int类型 ...

  6. docker出现“Failing to start dockerd: failed to create NAT chain DOCKER”错误

    使用Windows的WSL 2里面的Ubuntu安装docker之后,启动docker服务一直失败,提示Docker is not running.使用dockerd命令会出现如下错误: INFO[2 ...

  7. python中的异常类

  8. js 信息脱敏

    前端展示信息时,往往要对身份证号.手机号.地址等这类敏感信息进行部分隐藏显示,就是要脱敏处理 一个简单粗暴的脱敏处理方法记录下: hideSensitiveData (string, saveLeng ...

  9. openstack安装部署私有云详细图文

    本文主要分享的是云计算.openstack的使用.私有云平台建设.云服务器云硬盘的构建和使用.从基本概念入手到私有云建设,信息量非常大.对于openstack的安装部署都是从官方文档中一步步的介绍,内 ...

  10. oracle 白名单作用及配置教程

    出于提高数据安全性等目地,我们可能想要对oracle的访问进行限制,允许一些IP连接数据库或拒绝一些IP访问数据库. 当然使用iptables也能达到限制的目地,但是从监听端口变更限制仍可生效.只针对 ...