zoukankan      html  css  js  c++  java
  • 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);
    			});
    
    		});
    

      

  • 相关阅读:
    两种unix网络编程线程池的设计方法
    僵尸进程处理方法
    僵尸进程概念
    fork()父子进程文件描述符的关系
    getsockname()和getpeername()
    linux文件系统总结
    deque时间复杂度和vector,list比较
    stl仿函数和适配器
    linux中断和异常睡眠问题
    umask码和文件权限
  • 原文地址:https://www.cnblogs.com/rask/p/13187914.html
Copyright © 2011-2022 走看看