Struts+hibernate入门实例-投票系统

本文介绍了一个基于Struts和Hibernate构建的投票系统,该系统使用Mysql作为数据库,并利用JFreeChart生成投票结果图表,支持饼图和条形图等多种图表类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本系统采用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

packagecn.hxex.vote.action;

importjava.io.IOException;
importjava.util.Iterator;

importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;

importorg.jfree.chart.ChartFactory;
importorg.jfree.chart.ChartUtilities;
importorg.jfree.chart.JFreeChart;
importorg.jfree.chart.plot.PlotOrientation;
importorg.jfree.data.category.DefaultCategoryDataset;
importorg.jfree.data.general.DefaultPieDataset;

importcn.hxex.vote.dao.IVoteDAO;
importcn.hxex.vote.model.Vote;
importcn.hxex.vote.model.Voteitems;
importcn.hxex.vote.util.DAOFactory;

publicclassChartServletextendsHttpServlet...{

/***//**
*Constructoroftheobject.
*/

publicChartServlet()...{
super();
}


/***//**
*Destructionoftheservlet.<br>
*/

publicvoiddestroy()...{
super.destroy();//Justputs"destroy"stringinlog
//Putyourcodehere
}



publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException...{

doPost(request,response);
}



publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException...{

Stringid
=request.getParameter("id");
IVoteDAOvotedao
=DAOFactory.getVoteDAO();
Votevote
=votedao.getVote(id);
JFreeChartchart
=getChart(vote);
response.setContentType(
"image/jpeg");
ChartUtilities.writeChartAsJPEG(response.getOutputStream(),
100,chart,400,300);


}


publicstaticJFreeChartgetChart(Votevote)...{
JFreeChartchart
=null;
if(vote.getPictype().indexOf("PIE")==0)...{
DefaultPieDatasetdate
=newDefaultPieDataset();
Iteratoriter
=vote.getVoteitems().iterator();
while(iter.hasNext())...{
Voteitemsvi
=(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...{
DefaultCategoryDatasetdate
=newDefaultCategoryDataset();
Iteratorit
=vote.getVoteitems().iterator();
while(it.hasNext())...{
Voteitemsvi
=(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);
}

}

returnchart;

}

publicvoidinit()throwsServletException...{
//Putyourcodehere
}


}


VoteAction
/**//*
*GeneratedbyMyEclipseStruts
*Templatepath:templates/java/JavaClass.vtl
*/

packagecn.hxex.vote.action;

importjava.util.Iterator;

importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;

importorg.apache.struts.action.Action;
importorg.apache.struts.action.ActionForm;
importorg.apache.struts.action.ActionForward;
importorg.apache.struts.action.ActionMapping;

importcn.hxex.vote.dao.IVoteDAO;
importcn.hxex.vote.model.Vote;
importcn.hxex.vote.model.Voteitems;
importcn.hxex.vote.util.DAOFactory;

/***//**
*MyEclipseStruts
*Creationdate:02-11-2007
*
*XDocletdefinition:
*@struts.actionvalidate="true"
*@struts.action-forwardname="success"path="123"
*/

publicclassVoteActionextendsAction...{
/**//*
*GeneratedMethods
*/


/***//**
*Methodexecute
*
@parammapping
*
@paramform
*
@paramrequest
*
@paramresponse
*
@returnActionForward
*/

publicActionForwardexecute(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
...{
Stringid
=request.getParameter("id");
IVoteDAOvoteDao
=DAOFactory.getVoteDAO();
Votevote
=voteDao.getVote(id);

String[]voteitem
=request.getParameterValues(id);
if(voteitem!=null&voteitem.length>0)...{
for(inti=0;i<voteitem.length;i++)...{
Iteratoriter
=vote.getVoteitems().iterator();
while(iter.hasNext())...{
Voteitemsvi
=(Voteitems)iter.next();
if(voteitem[i].equals(vi.getId()))...{
vi.increaseVotenum();
break;
}

}

}

}

request.setAttribute(
"vote",vote);
returnmapping.findForward("success");
}

}

VoteDeleteAction

/**//*
*GeneratedbyMyEclipseStruts
*Templatepath:templates/java/JavaClass.vtl
*/
packagecn.hxex.vote.action;

importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;

importorg.apache.struts.action.Action;
importorg.apache.struts.action.ActionForm;
importorg.apache.struts.action.ActionForward;
importorg.apache.struts.action.ActionMapping;

importcn.hxex.vote.dao.IVoteDAO;
importcn.hxex.vote.model.Vote;
importcn.hxex.vote.util.DAOFactory;

/***//**
*MyEclipseStruts
*Creationdate:02-11-2007
*
*XDocletdefinition:
*@struts.actionvalidate="true"
*@struts.action-forwardname="success"path="123"
*/

publicclassVoteDeleteActionextendsAction...{
/**//*
*GeneratedMethods
*/


/***//**
*Methodexecute
*
@parammapping
*
@paramform
*
@paramrequest
*
@paramresponse
*
@returnActionForward
*/

publicActionForwardexecute(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
...{
IVoteDAOvoteDao
=DAOFactory.getVoteDAO();
Stringid
=request.getParameter("id");

Votevote
=voteDao.getVote(id);
voteDao.deleteVote(vote);



request.setAttribute(
"vote",vote);

returnmapping.findForward("success");
}

}
/**//*
*GeneratedbyMyEclipseStruts
*Templatepath:templates/java/JavaClass.vtl
*/
packagecn.hxex.vote.action;

importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;

importorg.apache.struts.action.Action;
importorg.apache.struts.action.ActionForm;
importorg.apache.struts.action.ActionForward;
importorg.apache.struts.action.ActionMapping;

importcn.hxex.vote.dao.IVoteDAO;
importcn.hxex.vote.model.Vote;
importcn.hxex.vote.util.DAOFactory;

/***//**
*MyEclipseStruts
*Creationdate:02-11-2007
html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值