1. fetch更加简单的数据获取方式, 功能更加强大、更加灵活, 是基于Promise实现的。
2. fetch语法结构
fetch(url).then(fun1) .then(fun2) ...... .catch(fun)
3. 新建一个名为Promise的动态Web工程
3.1. 编写FetchAjax.java
package com.bjbs.fa;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class FetchAjax extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String id = req.getParameter("id");
resp.getWriter().write("Fetch Ajax get Request... id = " + id);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
3.2. 编写FetchAjaxPost.java
package com.bjbs.fa;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class FetchAjaxPost extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String uname = req.getParameter("uname");
String pwd = req.getParameter("pwd");
resp.getWriter().write("Fetch Ajax post Request... uname = " + uname + ", pwd = " + pwd);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
3.3. 编写FetchAjaxPostJson.java
package com.bjbs.fa;
import java.io.BufferedReader;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class FetchAjaxPostJson extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
BufferedReader br = req.getReader();
String result = "", rl = null;
while((rl = br.readLine()) != null) {
result += rl;
}
System.out.println("Fetch Ajax post Request Json Param... result = " + result);
String res = "{"code":1,"result":"success."}";
resp.getWriter().write(res);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
3.4. 修改web.xml
3.5. 编写FetchGet.html
Fetch基本用法-get
3.6. 编写FetchPost.html
Fetch基本用法-post
3.7. 运行项目, 访问FetchGet.html
3.8. 运行项目, 访问FetchPost.html



