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. hashtable被弃用了

      Hashtable的作者:HashMap的作者:Hash Map的作者比Hashtable的作者多了著名顶顶的并发大神Doug Lea.他写了util.concurrent包.著有并发编程圣经Co ...

  2. PostScript语言教程(四、程序变量使用)

    4.1.变量定义 POSTSCRIPT 变量 变量的定义是将比那两名和值用def进行关联类似 /ppi 75 def %将ppi定义为75 /ppi ppi 1 add def %将ppi + 1的值 ...

  3. jvm中的年轻代 老年代 持久代 gc ----------转载

    jvm中的年轻代 老年代 持久代 gc 虚拟机中的共划分为三个代:年轻代(Young Generation).老年代(Old Generation)和持久代(Permanent Generation) ...

  4. 创建一个简单的signalr项目

    1:新建一个empty的MVC项目 2:如果没有安装过signalr过那么要通过Nuget安装signalr 3:新建一个controller 然后建一个view =>index 4:新建一个s ...

  5. 解决eclipse创建动态Web项目没有Web->Dynamic Web Project问题

    有时候在eclipse新建Dynamic Web Project,File->New->Other->Web并没有发现Dynamic Web Project选项如下图:(那也不要慌解 ...

  6. SpringMVC-nfjh

    SpringMVC springmvc项目创建 1.使用maven创建web项目结构 2.补充更改结构 3.springmvc-config.xml 1)添加包扫描(context命名空间) 2)添加 ...

  7. adaptsegnet 论文分析比较好的

    https://blog.csdn.net/weixin_43795588/article/details/118058775 常用的语义分割一般是由两部分组成:一部分是特征提取器,比如可以用Resn ...

  8. IDEA-mybatis逆向工程使用

    首先我们需要安装mybatis逆向工程插件mybatis Generator: 然后在pom.xml文件中添加逆向工程插件: <!--mybatis逆向工程插件--> <plugin ...

  9. 【Leetcode第285场周赛】——周赛总结

    1.6027. 统计数组中峰和谷的数量 - 力扣(LeetCode) (leetcode-cn.com) 给你一个下标从 0 开始的整数数组 nums .如果两侧距 i 最近的不相等邻居的值均小于 n ...

  10. OO课程第三阶段(实验和pta试题)总结Blog3

    OO课程第三阶段(实验和pta试题)总结Blog3 前言:学习OOP课程的第三阶段已经结束了,在此进行对于知识点,题量,难度的个人看法. 学习OOP课程的第三阶段已经结束了,较第一次阶段学习难度加大, ...