Ajax技术是一种在Web应用中常用的技术,可以异步交换数据,使页面不必刷新就能与服务器交互。在AJAX中,服务端通过Servlet返回JSON格式的数据,从而实现前后端数据的交互。下面我们就来看一下如何使用Servlet返回JSON数据。
import java.io.IOException; import java.io.PrintWriter; import java.util.*; import javax.servlet.servletexception; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.alibaba.fastjson.JSON; @WebServlet("/getData") public class GetDataServlet extends HttpServlet { private static final long serialVersionUID = 1L; public void doGet(HttpServletRequest request,HttpServletResponse response) throws servletexception,IOException { List<Map<String,Object>> dataList = new ArrayList<>(); Map<String,Object> data1 = new HashMap<>(); data1.put("name","张三"); data1.put("age",20); dataList.add(data1); Map<String,Object> data2 = new HashMap<>(); data2.put("name","李四"); data2.put("age",30); dataList.add(data2); String jsonData = JSON.toJSONString(dataList); response.setContentType("application/json;charset=UTF-8"); PrintWriter out = response.getWriter(); out.print(jsonData); out.close(); } public void doPost(HttpServletRequest request,IOException { doGet(request,response); } }
在代码中,我们首先定义了两个Map对象,每个Map对象都有两个键值对,表示一个人的姓名和年龄。然后将两个Map对象添加到List中,并将List转换为JSON字符串。最后,设置ContentType为application/json,通过PrintWriter输出JSON字符串。
在前端页面中,我们可以使用jQuery的$.ajax()方法来向Servlet发送请求,并用success回调函数来处理JSON数据:
$.ajax({ url: "getData",type: "get",dataType: "json",success: function(data) { $.each(data,function(index,item) { var name = item.name; var age = item.age; var html = "<tr><td>" + name + "</td><td>" + age + "</td></tr>"; $("#dataTable").append(html); }); } });
在回调函数中,我们使用$.each()方法遍历返回的JSON数据,并将每个人的姓名和年龄显示在表格行中。
如此一来,我们就成功地使用Servlet返回JSON数据,并通过AJAX技术来更新网页内容了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。