柱状图实现文章统计
一、问题描述:
统计各个类别的文章总数,以柱状图表示。二、实现
(1)首先根据sql语句得到每一种类型文章数目统计,并存放在表中。如下所示:
(2)在eclipse中编写代码实现柱状图:
实体层:
1 public class BarBean { 2 public String name; 3 4 public String getName() { 5 return name; 6 } 7 public void setName(String name) { 8 this.name = name; 9 } 10 public Integer getNum() { 11 return num; 12 } 13 public void setNum(Integer num) { 14 this.num = num; 15 } 16 public Integer num; 17 }
dao层:
1 public class BarDao { 2 public ArrayListselect_all(){ 3 4 Connection conn = null; 5 Statement stmt=null; 6 ResultSet rst = null; 7 try{ 8 conn = Dbutil.getConnection(); 9 stmt = conn.createStatement(); 10 String sql = "select * from bar"; 11 rst = stmt.executeQuery(sql); 12 ArrayList array = new ArrayList (); 13 while(rst.next()) 14 { 15 BarBean bar = new BarBean(); 16 bar.setName(rst.getString("name")); 17 bar.setNum(rst.getInt("num")); 18 array.add(bar); 19 } 20 stmt.close(); 21 rst.close(); 22 return array; 23 24 }catch(SQLException e){ 25 System.out.println("Error"); 26 return new ArrayList (); 27 } 28 } 29 30 }
servlet层:
1 public class Barservlet extends HttpServlet { 2 private static final long serialVersionUID = 1L; 3 BarDao dao=new BarDao(); 4 public void setdata(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 5 request.setCharacterEncoding("utf-8"); 6 response.setContentType("text/html;charset=UTF-8"); 7 JSONArray json=new JSONArray(); 8 Listlist = dao.select_all(); 9 for(int i=0;i ) { 10 JSONObject ob=new JSONObject(); 11 ob.put("name", list.get(i).getName()); 12 ob.put("num", list.get(i).getNum()); 13 json.add(ob); 14 } 15 System.out.println(json.toString()); 16 PrintWriter out = response.getWriter(); 17 //out.write("[120, 200, 150, 80, 70, 110, 130]"); 18 System.out.println(list.size()); 19 response.getWriter().write(json.toString()); 20 } 21 /** 22 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) 23 */ 24 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 25 // TODO Auto-generated method stub 26 request.setCharacterEncoding("utf-8"); 27 String method=request.getParameter("method"); 28 if(method.equals("setdata")) { 29 try { 30 setdata(request,response); 31 } catch (ServletException e) { 32 e.printStackTrace(); 33 } catch (IOException e) { 34 e.printStackTrace(); 35 } 36 } 37 38 } 39 40 /** 41 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) 42 */ 43 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 44 doGet(request, response); 45 } 46 47 }
jsp页面:
1 2 3 4 5Title 6 7 8 9 10 11 12 13 14 71