FastJson+Servlet实现Ajax案例

Servlet编码

package com.etc.action;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.TreeMap;

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;
import com.etc.mc.CJCount;

/**向客户端提供json数据*/
@WebServlet("/CJServlet")
public class CJServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	

	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		//post乱码处理	
		request.setCharacterEncoding("utf-8");	
		// 设置响应数据类型
		response.setContentType("text/html");
		// 设置响应编码格式
		response.setCharacterEncoding("utf-8");
		// 获取out对象
		PrintWriter out = response.getWriter();		
		//组织json数据
		TreeMap<String, Float> map=null;
		
		try {
			map=CJCount.main();
		} catch (Exception e) {
			System.out.println("获取数据出错");
		}
		
		//通过构建map集合转换为嵌套json格式数据
		HashMap jsonmap = new HashMap();
		jsonmap.put("mytitle","长江收盘价折线图");
		jsonmap.put("mylegend", "收盘价");
		jsonmap.put("prolist", map);
		
		String str =JSON.toJSONString(jsonmap);		
		System.out.println(str);

		out.print(str);
		out.flush();
		out.close();

	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doGet(request, response);
	}

}

  

JSP视图处理JSON数据

$(function() {
			var mytitle;
			var mylegend;
			var xdata = new Array();
			var ydata = new Array();

			$.getJSON("CJServlet", function(data) {
				mytitle = data.mytitle;
				mylegend = data.mylegend;
				//获取x轴数据
				console.log(data);
				$.each(data.prolist, function(i, n) {
					xdata.push(i);
				});
				//获取y轴数据
				$.each(data.prolist, function(i, n) {
					ydata.push(n);
				});
				console.log(xdata);
				console.log(ydata);
				//执行函数
				showdata(mytitle, [ mylegend ], xdata, ydata);
			});

		});

  

posted @ 2020-06-24 15:52  rask  阅读(628)  评论(0编辑  收藏  举报