本系统采用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
}
}
VoteAction
/**//*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package cn.hxex.vote.action;
import java.util.Iterator;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import cn.hxex.vote.dao.IVoteDAO;
import cn.hxex.vote.model.Vote;
import cn.hxex.vote.model.Voteitems;
import cn.hxex.vote.util.DAOFactory;
/** *//**
* MyEclipse Struts
* Creation date: 02-11-2007
*
* XDoclet definition:
* @struts.action validate="true"
* @struts.action-forward name="success" path="123"
*/
public class VoteAction extends Action ...{
/**//*
* Generated Methods
*/
/** *//**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) ...{
String id=request.getParameter("id");
IVoteDAO voteDao=DAOFactory.getVoteDAO();
Vote vote=voteDao.getVote(id);
String[] voteitem=request.getParameterValues(id);
if(voteitem!=null&voteitem.length>0)...{
for(int i=0;i<voteitem.length;i++)...{
Iterator iter=vote.getVoteitems().iterator();
分享到:
相关推荐
### J2EE电子商务系统开发从入门到精通——基于Struts和Hibernate技术实现 #### J2EE概论 **1.1 简单双层架构到复杂多层架构** - **1.1.1 双层(C/S)软件架构设计** - 双层架构(客户端/服务器架构,Client/...
### J2EE电子商务系统开发从入门到精通:基于Struts和Hibernate技术实现 #### J2EE概论 在深入探讨如何使用Struts和Hibernate技术来构建一个完整的电子商务系统之前,我们首先需要理解J2EE的基本概念及其体系架构...
### J2EE电子商务系统开发从入门到精通:基于Struts和Hibernate技术实现 #### J2EE概论 - **双层架构与多层架构的区别**: - 双层架构通常指的是客户端/服务器(Client/Server, C/S)架构,这种架构下的应用程序在...
- **投票管理系统**:通过具体的案例分析,展示了Struts2在实际项目中的应用。 - **无纸化办公管理系统**:另一个实例,进一步加深对Struts2的理解。 - **数据采集系统**:介绍如何使用Struts2来构建数据采集系统,...
- **投票管理系统**:通过一个完整的投票管理系统的开发案例,展示了Struts2在实际项目中的应用。 - **无纸化办公管理系统**:另一个案例研究,重点在于如何利用Struts2来构建高效的企业级应用。 - **数据采集系统**...
- **投票管理系统**:通过一个投票管理系统的实例,展示Struts2与其他技术(如Hibernate、Spring)的集成应用。 - **无纸化办公管理系统**:介绍如何利用Struts2框架构建一个无纸化办公系统。 - **数据采集系统**:...
- **实战案例**:通过具体的项目案例进一步加深对Struts2的理解,包括投票管理系统、无纸化办公管理系统、数据采集系统等。 以上内容概括了Struts2系列教程的主要知识点,旨在帮助读者从零开始学习并掌握Struts2...
- **投票管理系统**、**无纸化办公管理系统**、**数据采集系统**等章节介绍了实际项目的开发过程和技术要点,包括需求分析、设计、编码和测试等方面。 通过上述知识点的梳理,可以清晰地了解到Struts2.0的学习路径...
- **投票管理系统**:分析一个完整的投票管理系统项目。 - **无纸化办公管理系统**:探讨一个无纸化办公管理系统的开发过程。 - **数据采集系统**:介绍一个数据采集系统的实现细节。 #### 总结 Struts2是一个功能...