讀取資料庫資料,並將資料整合成3D餅圖在jsp中顯示

來源:互聯網
上載者:User

標籤:xml檔案   .sql   資料庫資料   spn   let   next   null   select   java   

首先我將產生餅圖的方法獨立寫成一個PieChar.java類,詳細代碼如下:(資料庫需要自己建,如有需要的話)

 1 import java.io.IOException; 2 import java.sql.SQLException; 3 import org.jfree.chart.ChartFactory; 4 import org.jfree.chart.JFreeChart; 5 import org.jfree.data.general.DefaultPieDataset; 6  7 public class PieChart { 8     public JFreeChart chart=null; 9     public PieChart() throws IOException, SQLException{10         DefaultPieDataset data = getDataset();11         chart = ChartFactory.createPieChart3D("各類商品數量餅圖", data,true, false, false);//繪製餅圖12     }13     //自訂方法,產生餅圖資料集14     private static DefaultPieDataset getDataset() throws SQLException{15         DefaultPieDataset dabaset = new DefaultPieDataset();16         ConnDB conn = new ConnDB();17         String sql = "select p_type,count(p_type) as p_type_count from product GROUP BY(p_type)";18         conn.rs = conn.doQuery(sql);19         //讀取資料庫資料,產生資料集20         while(conn.rs.next()){21             dabaset.setValue(conn.rs.getString("p_type"), conn.rs.getInt("p_type_count"));22         }23         return dabaset;24     }25 }

然後在jsp檔案中調用這個java類,詳細代碼如下:

 1 <jsp:useBean id="pies" class="bean.PieChart"></jsp:useBean> 2   <body> 3        4     <%  5     String filename = ServletUtilities.saveChartAsPNG(pies.chart,500, 300, null,session);//產生圖片路徑 6     String graphURL = request.getContextPath() + "/servlet/DisplayChart?filename=" + filename;//產生圖片在工程中的完整路徑 7     System.out.println(graphURL); 8     %> 9     <div align="center">10         <img src="<%=graphURL%>">    11     </div>12   </body>

這樣子做完還不夠,還需要在web.xml檔案中做配置才能顯示出圖片,詳細配置如下:

1 <servlet>2         <servlet-name>DisplayChart</servlet-name>3         <servlet-class>org.jfree.chart.servlet.DisplayChart</servlet-class>4 </servlet>5 <servlet-mapping>6         <servlet-name>DisplayChart</servlet-name>7         <url-pattern>/servlet/DisplayChart</url-pattern>8 </servlet-mapping>

完成servlet映射。

最終效果如下:

 

讀取資料庫資料,並將資料整合成3D餅圖在jsp中顯示

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.