1.编写AjaxServlet,并用response输出字符串
一、AJAX
(一)概念
AJAX(Asynchronous JavaScript And XML)异步的JavaScript和XML
(二)作用
1.与服务器进行数据交换
通过AJAX可以与服务器发送请求,并获取服务器响应的数据
以前把数据穿到JSP发送数据,显示出来。以前无法获取服务端的数据不得不用,而现在可以用HTML+AJAX来替换JSP页面了
好处:
前后端分离
2.异步交互
可以再补充下加载整个页面的情况下,与服务器交换数据并更新部分网页的技术,如搜索联想,用户名是否可用校验,等等...
二、同步和异步
(一)同步
(二)异步
三、AJAX快速入门
1.编写AjaxServlet,并用response输出字符串
直接在doget方法里写就行
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().write("hello AJAX");}
2.创建核心对象
接下来写在<script>内部
var xmlhttp; if(window.XMLHttpRequest){ xmlhttp=new XMLHttpRequest(); }else { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }
创建XML HttpRequest对象:用于和服务器交换数据
3.向服务器发送请求
xmlhttp.open("GET", "http://localhost:80/javaweb_test_war/test11", true); xmlhttp.send();
路径要写全路径
4.获取服务器响应数据
xmlhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { alert(this.responseText); } }
四、Axios异步框架
(一)快速使用
Axios对原生的AJAX进行封装,简化书写
官方网站:Axios 中文文档 | Axios 中文网 | Axios 是一个基于 promise 的网络请求库,可以用于浏览器和 node.js (axios-http.cn)
1.引入axios的js文件
下载后导入
<script src="js/axios-0.18.0.js"></script>
2.使用axios发送请求,并获取响应结果
1.get请求
<script> axios({ method:"get", url:"http://localhost:80/javaweb_test_war/test22?username=zhangsan" }).then(function (resp){ alert(resp.data) }) </script>
2.post请求
<script> axios({ method:"post", url:"http://localhost:80/javaweb_test_war/test22", data:"username=zhangsan" }).then(function (resp){ alert(resp.data) }) </script>
(二)Axios请求方式别名
五、JSON
概念:JavaScript Obiect Notation。JavaScript对象表示法
由于语法简单,层次结构鲜明,现多用于作为数据载体,在网络中进行数据传输
(一)JSON基础语法
1.定义:
var 变量名={
"key1":value1
"key2":value2
..........
}
2.获取数据
变量名.key
(二)JSON数据和JAVA对象的转换
请求数据:json转为java对象
响应数据:java对象转为JSON字符串
1.首先需要将maven依赖导入此jar包
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>2.0.32</version>
</dependency>
2.然后创建一个类,接受数据。
如user类接受账户和密码