|
本系统采用Struts + Hibernate 作为主题框架 数据库采用Mysql 开源包使用JSTL+JFreeChart
项目结构如下: action ChartServlet.java VoteAction.java VoteDeleteAction.java VoteEditAction.java VoteitemDeleteAction.java VoteitemEditAction.java VoteitemListAction.java VoteitemSaveAction.java VoteManageAction.java VoteSaveAction.java dao IVoteDAO.java VoteDAO.java sql script.sql model vote.hbm.xml voteItem.hbm.xml Vote.java Voteitems.java util DAOFactory.java HibernateDAO.java HibernateFilter.java HibernateUtil.java SelectConst.java VoteFunction.java
ChartServlet
package cn.hxex.vote.action;

import java.io.IOException;
import java.util.Iterator;

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.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;

import cn.hxex.vote.dao.IVoteDAO;
import cn.hxex.vote.model.Vote;
import cn.hxex.vote.model.Voteitems;
import cn.hxex.vote.util.DAOFactory;

 public class ChartServlet extends HttpServlet ...{

 /** *//**
* Constructor of the object.
*/
 public ChartServlet() ...{
super();
}

 /** *//**
* Destruction of the servlet. <br>
*/
 public void destroy() ...{
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}

public void doGet(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException ...{

doPost( request, response );
}

public void doPost(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException ...{

String id=request.getParameter("id");
IVoteDAO votedao=DAOFactory.getVoteDAO();
Vote vote=votedao.getVote(id);
JFreeChart chart=getChart(vote);
response.setContentType("image/jpeg");
ChartUtilities.writeChartAsJPEG(response.getOutputStream(), 100, chart, 400,300);
}

 public static JFreeChart getChart(Vote vote)...{
JFreeChart chart=null;
 if(vote.getPictype().indexOf("PIE")==0)...{
DefaultPieDataset date=new DefaultPieDataset();
Iterator iter=vote.getVoteitems().iterator();
 while(iter.hasNext())...{
Voteitems vi=(Voteitems)iter.next();
date.setValue(vi.getTitle(), vi.getVotenum());
}
 if("PIE".equals(vote.getPictype()))...{
chart=ChartFactory.createPieChart(vote.getTitle(), date, false,false,false);
 }else...{
chart=ChartFactory.createPieChart3D(vote.getTitle(), date, false,false,false);
}
 }else...{
DefaultCategoryDataset date=new DefaultCategoryDataset();
Iterator it=vote.getVoteitems().iterator();
 while(it.hasNext())...{
Voteitems vi=(Voteitems)it.next();
date.addValue(vi.getVotenum(), "选项", vi.getTitle());
}
 if("BAR".equals(vote.getPictype()))...{
chart=ChartFactory.createBarChart(vote.getTitle(), "选项", "数量", date, PlotOrientation.VERTICAL, false,false,false);
}
 else...{
chart=ChartFactory.createBarChart3D(vote.getTitle(), "选项", "数量", date, PlotOrientation.VERTICAL, false,false,false);
}
}
return chart;
}
 public void init() throws ServletException ...{
// Put your code here
}

}

共5页: 上一页 1 [2] [3] [4] [5] 下一页
|