?? salescountservlet.java
字號:
package com.bjsxt.shopping.stat;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import com.bjsxt.shopping.util.PropertyMgr;
public class SalesCountServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
System.out.println("ok");
CategoryDataset dataset = getDataSet();
String fileName = "SalesCount.jpg";
JFreeChart chart = ChartFactory.createBarChart3D("產品銷量圖", // 圖表標題
"產品", // 目錄軸的顯示標簽
"銷量", // 數值軸的顯示標簽
dataset, // 數據集
PlotOrientation.VERTICAL, // 圖表方向:水平、垂直
true, // 是否顯示圖例(對于簡單的柱狀圖必須是false)
false, // 是否生成工具
false // 是否生成URL鏈接
);
FileOutputStream fos_jpg = null;
try {
fos_jpg = new FileOutputStream(
PropertyMgr.getProperty("statImagePath") + fileName);
System.out.println(PropertyMgr.getProperty("statImagePath"));
ChartUtilities.writeChartAsJPEG(fos_jpg, 0.5f, chart, 400, 300,
null);
} finally {
try {
fos_jpg.close();
} catch (Exception e) {
e.printStackTrace();
}
}
request.setAttribute("imgName", fileName);
this.getServletContext().getRequestDispatcher("/admin/SalesCount.jsp")
.forward(request, response);
}
private CategoryDataset getDataSet() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
List<ProductStatItem> items = StatService.getProductsBySaleCount();
for (int i = 0; i < items.size(); i++) {
ProductStatItem p = items.get(i);
dataset.addValue(p.getTotalSalesCount(), "銷量", p.getProductName());
}
return dataset;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -