MVC3+Entity Framework 实现投票系统(一)

本教程通过实例演示如何使用MVC3.0创建一个简单的投票应用程序。包括项目搭建、数据库创建及EntityFramework实体模型的应用。

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

 本节内容主要以实际操作为主:

1.创建MVC3.0项目:

2.创建数据库Vote:

因为本程序只是教程例子,所以没有复杂的表结构,只是为了方便大家学习创建。数据库为Vote,其中只有一张表Users,表中字段分别为id(主键自动增涨列)、UsreName(用户名称)、UserPicPath(头像)、VoteCount(投票数量)。

3.打开VS2010中所建好的项目,在其中找到Models(模型)目录:

4.对着Models点右建,选择添加新建项:

 

添加一个Entity Framework实体模型。

5.在添加实体模型时,应该选择以下内容:

(1):

(2):

 (3):

(4):

以上四步操作,完成了EntityFramework模型的添加。

未完待续......

package com.frog.vote.servlet.front; import java.io.IOException; import java.sql.Timestamp; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.frog.vote.bean.UserBean; import com.frog.vote.cons.Const; import com.frog.vote.dao.entity.Vote; import com.frog.vote.factory.ServiceFactory; public class VoteServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("gbk"); resp.setContentType("text/html;charset=gbk"); // 先取出操作参数 String action = req.getParameter("action"); ServletContext application = getServletContext(); // 显示的列表 if ("show".equals(action)) { // 调用service层方法得到所有的 String temp = req.getParameter("page"); int page = 1; if (temp != null) { try { page = Integer.parseInt(temp); } catch (NumberFormatException e) { e.printStackTrace(); } } UserBean ub = (UserBean)req.getSession().getAttribute(Const.USER); int uid = ub.getId(); req.setAttribute("page", ServiceFactory .getVoteService().listUserPage(page,uid)); application.getRequestDispatcher("/WEB-INF/front/list.jsp") .forward(req, resp); return; } else if ("save".equals(action) || "update".equals(action)) { String sid = req.getParameter("id"); String[] answers = req.getParameterValues("choice"); List<Integer> list = new ArrayList<Integer>(); int temp; for (String answer : answers) { temp = Integer.parseInt(answer); list.add(temp); } int tid = Integer.parseInt(sid); UserBean ub = (UserBean)req.getSession().getAttribute(Const.USER); Vote vote = new Vote(); vote.setUid(ub.getId()); vote.setTid(tid); vote.setVoteTime(new Timestamp(System.currentTimeMillis())); vote.setAnswer(list); vote.setIp(req.getRemoteAddr()); List<String> listErr = null; if ("update".equals(action)) { // flag = ServiceFactory.getVoteService().update(vote); } else { vote.setStatus(Vote.STATUS_ACTIVE); listErr = ServiceFactory.getVoteService().save(vote); } if (listErr==null) { // resp.sendRedirect(req.getContextPath()+"/main?action=welcome"); application.getRequestDispatcher("/WEB-INF/front/success.jsp").forward(req, resp); return; } req.setAttribute("err", listErr); req.getRequestDispatcher("/err.jsp").forward(req, resp); return; } else if ("delete".equals(action)) { String gid = req.getParameter("gid"); int gidNumber = Integer.parseInt(gid); boolean flag = ServiceFactory.getVoteService().delete(gidNumber); if (flag) { req.getRequestDispatcher("/admin/goods?action=list").forward( req, resp); return; } req.getRequestDispatcher("/err.jsp").forward(req, resp); return; } else if ("modify".equals(action)) { String gid = req.getParameter("gid"); int gidNumber = Integer.parseInt(gid); Vote vote = ServiceFactory.getVoteService().getById(gidNumber); req.setAttribute("detai", vote); if (vote != null) { req.getRequestDispatcher("/admin/goods/modify.jsp").forward( req, resp); return; } req.getRequestDispatcher("/err.jsp").forward(req, resp); return; } } }
在线投票系统(加文档)源码 项目来源及开发的目的和意义 随着INTERNET的发展,世界网民的数量急剧增加,社会的信息化强度增强,企业竞争之激烈,故对市场信息的掌握范围不仅仅是周边的 些信息,而应把范围扩展到全国,甚至全世界,INTERNET恰恰是实现这目标的有利工具.对于新产品,新观点的调查范围应该更广泛 ,消息应该及时反馈给企业单位,故个网上在线投票系统应允而生,它正好充分满足客户的需求,信息反馈的范围扩大,人力资源的节省, 从而使得企业在竞争激烈的市场中拥有更强大的资本.开发此投票系统是为了更好的把市场的信息更准确更快速的反馈给客户,使信息 的来源更广泛,从而提高信息的准确性.运用此系统可以降低企业为市场调查而消耗的人力和物力,利用节省的资源提高产品的质量, 增强竞争力.该课题领域的开发及应用现状分析 项目所使用的相关技术的说明 该项目的开发需要用到的语言是C#,采用了当今最为流行的ASP.NET技术来开发.数据库方面使用的是SQL2000. 目标 在线投票功能是网站应用程序最常用的功能之,也是网站应用程序开发常用的功能模块。当网站的管理员或用户提出些新的想法 与建议或者出现种新产品时,他们可能需要通过用户或者客户的投票方式来确定这些新的想法、建议或者新的产品是否满足用户 或者客户的需求,另外,网站还可以通过网站在线投票功能做些实际性的调查工作。随时了解市场是个企业拥有强大竞争力的 必须品,所以在线投票系统可以解决企业的难题,不受地区限制,不受人手压力的限制,随时了解产品的市场效应,增强自己的竞争力 ;此系统将以图形化的界面来显示投票结果,目了然的回溃客户的的需求信息; 用户特点 本在线投票系统的用户只需懂得运用互联网络者均可以使用,此系统在网站中的使用频度预计非常的频繁; 对性能的要求和约束 该系统属于实用型网站,需要对数据的处理,比如对投票票数的统计并把结果反馈给投票者,故对数据的及时更新要求较高, 保证数据的真实性.该系统在任何操作系统下都可以运行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值