`
esffor
  • 浏览: 1363754 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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();
                
分享到:
评论

相关推荐

    J2EE电子商务系统开发从入门到精通--基于Struts和Hibernate技术实现

    ### J2EE电子商务系统开发从入门到精通——基于Struts和Hibernate技术实现 #### J2EE概论 **1.1 简单双层架构到复杂多层架构** - **1.1.1 双层(C/S)软件架构设计** - 双层架构(客户端/服务器架构,Client/...

    J2EE电子商务系统开发从入门到精通基于Struts和Hibernate技术实现

    ### J2EE电子商务系统开发从入门到精通:基于Struts和Hibernate技术实现 #### J2EE概论 在深入探讨如何使用Struts和Hibernate技术来构建一个完整的电子商务系统之前,我们首先需要理解J2EE的基本概念及其体系架构...

    J2EE电子商务系统开发从入门到精通:基于Struts和Hibernate技术实现

    ### J2EE电子商务系统开发从入门到精通:基于Struts和Hibernate技术实现 #### J2EE概论 - **双层架构与多层架构的区别**: - 双层架构通常指的是客户端/服务器(Client/Server, C/S)架构,这种架构下的应用程序在...

    Struts2入门v3.0.pdf

    - **投票管理系统**:通过一个完整的投票管理系统的开发案例,展示了Struts2在实际项目中的应用。 - **无纸化办公管理系统**:另一个案例研究,重点在于如何利用Struts2来构建高效的企业级应用。 - **数据采集系统**...

    struts2系列教程

    - **实战案例**:通过具体的项目案例进一步加深对Struts2的理解,包括投票管理系统、无纸化办公管理系统、数据采集系统等。 以上内容概括了Struts2系列教程的主要知识点,旨在帮助读者从零开始学习并掌握Struts2...

    网络第一份struts2.0学习文档

    - **投票管理系统**、**无纸化办公管理系统**、**数据采集系统**等章节介绍了实际项目的开发过程和技术要点,包括需求分析、设计、编码和测试等方面。 通过上述知识点的梳理,可以清晰地了解到Struts2.0的学习路径...

Global site tag (gtag.js) - Google Analytics