柱状图实现文章统计


一、问题描述:

统计各个类别的文章总数,以柱状图表示。  

二、实现

(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 ArrayList select_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            List list = 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     
 5     Title
 6 
 7 
 8 
 9 
10 
11 12
13 14 71

三、结果展示