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

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

你可能感兴趣的:(java,Hibernate,struts,servlet,jfreechart)