微信投票项目

2019-05-13  本文已影响0人  AAnna珠

一、项目介绍

微信投票系统

前台系统:

用户用的,首页,报名,奖品,排行,投票,刷礼物

后台系统:

系统管理员在用,创建投票活动(创建二维码),看到所有的投票记录,看到所有刷礼物的记录

技术点:

前后端分离,html、css、JavaScript、jQuery、ajax,SpringMVC,mybatis,spring IOC,spring AOP,mysql,微信接口(微信登录,微信支付)

开发工具:

Eclipse(Java),Navicat(数据库),Hbuilder(画页面)

二、数据库设计

1.活动表(activity)

Aid:活动编号(主键,流水号)

Atitle:活动名称

Adesc:活动描述

Imgurl:图片地址

Starttime:活动开始时间

Endtime:活动结束时间

Totalpeople:总报名人数

Totaltickets:总投票数

Totalaccess:总访问量

Votelimit:每一个投票人,每天最多可以投票的次数(5)

2、选手表(candidate)

Cid:选手编号(主键)

Aid:活动编号

Cname:选手姓名

Cdeclaration:选手宣言

Mobile:手机

Sex:性别

Address:收货地址

Tickets:票数

Hots:热度

Gitfs:礼物

Imgurl:封面图片(主图片)

3.选手图片表(images)

Id:主键

Cid:选手编号

Imgurl:图片地址

4.投票记录表(voterecord,)

Id:主键

Openid:登录人的ip

Cid:选手编号

Aid:活动编号

Votetime:投票时间

5.奖品表(prize)

Pid:主键

Aid:活动编号

Level:奖品类别(一等奖,二等奖,三等奖)

Pname:奖品名称

Pcount:奖品数量

Pimg:奖品图片

6.获奖表

Id:主键

Aid:活动编号

Cid:选手编号

Gid:奖品编号

三、框架搭建

1.1 web.xml

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">

  <display-name>wechatvote</display-name>

  <welcome-file-list>

    <welcome-file>index.html</welcome-file>

    <welcome-file>index.htm</welcome-file>

    <welcome-file>index.jsp</welcome-file>

    <welcome-file>default.html</welcome-file>

    <welcome-file>default.htm</welcome-file>

    <welcome-file>default.jsp</welcome-file>

  </welcome-file-list>

<!-- 配置监听器,启动spring容器 -->

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:applicationContext.xml</param-value>

</context-param>

<listener>

<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>

<!-- 配置过滤器,解决乱码问题 -->

<filter>

<filter-name>CharacterEncodingFilter</filter-name>

<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>

<init-param>

<param-name>encoding</param-name>

<param-value>utf-8</param-value>

</init-param>

<init-param>

<param-name>forceEncoding</param-name>

<param-value>true</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>CharacterEncodingFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

<!-- 配置springmvc的前端控制器-->

<servlet>

<servlet-name>springmvc</servlet-name>

<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

<init-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:springmvc.xml</param-value>

</init-param>

</servlet>

<servlet-mapping>

<servlet-name>springmvc</servlet-name>

<url-pattern>/</url-pattern>

</servlet-mapping>

</web-app>

1.2springmvc.xml

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:mvc="http://www.springframework.org/schema/mvc" 

xmlns:p="http://www.springframework.org/schema/p"

xmlns:context="http://www.springframework.org/schema/context"

xmlns:util="http://www.springframework.org/schema/util"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.springframework.org/schema/beans  

            http://www.springframework.org/schema/beans/spring-beans-4.2.xsd  

            http://www.springframework.org/schema/context   

            http://www.springframework.org/schema/context/spring-context-4.2.xsd  

            http://www.springframework.org/schema/mvc  

            http://www.springframework.org/schema/mvc/spring-mvc-4.2.xsd

            http://www.springframework.org/schema/util  

            http://www.springframework.org/schema/util/spring-util-4.2.xsd">

<!-- 开启注解驱动 -->

<mvc:annotation-driven></mvc:annotation-driven>

<!-- 配置控制器包扫描 -->

<context:component-scan base-package="com.neuedu.controllers"></context:component-scan>

<!-- 配置静态资源的访问 -->

<mvc:default-servlet-handler/>

<!-- 配置二进制提交方式,配置文件上传组件 -->

<bean id="multipartResolver"

class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

<!-- 设置上传文件的最大尺寸为5MB -->

<property name="maxUploadSize">

<value>5242880</value>

</property>

</bean>

</beans>

1.3applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>

<beans

    xmlns="http://www.springframework.org/schema/beans"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xmlns:context="http://www.springframework.org/schema/context"

    xmlns:aop="http://www.springframework.org/schema/aop"

    xmlns:tx="http://www.springframework.org/schema/tx"

    xsi:schemaLocation="

    http://www.springframework.org/schema/beans

    http://www.springframework.org/schema/beans/spring-beans-4.2.xsd

    http://www.springframework.org/schema/context

    http://www.springframework.org/schema/context/spring-context-4.2.xsd

    http://www.springframework.org/schema/aop

    http://www.springframework.org/schema/aop/spring-aop-4.2.xsd

    http://www.springframework.org/schema/tx

    http://www.springframework.org/schema/tx/spring-tx-4.2.xsd">

    <!-- 加载db.properties -->

    <context:property-placeholder location="classpath:db.properties"/>

    <!-- 配置数据源 -->

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"

destroy-method="close">

<property name="driverClassName" value="${jdbc.driver}" />

<property name="url" value="${jdbc.url}" />

<property name="username" value="${jdbc.username}" />

<property name="password" value="${jdbc.password}" />

<property name="maxActive" value="30" />

<property name="maxIdle" value="5" />

</bean>

<!-- 配置sessionFactory -->

<bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

<!-- 加载mybatis的主配置文件-->

<property name="configLocation" value="classpath:SqlMapConfig.xml"></property>

<property name="dataSource" ref="dataSource"></property>

</bean>

<!-- 配置mapper -->

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

<property name="basePackage" value="com.neuedu.model.mapper"></property>

<property name="sqlSessionFactoryBeanName" value="sessionFactory"></property>

</bean>

<!-- 事务 -->

<!-- 声明事务管理器 -->

<bean id="txm" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

<property name="dataSource" ref="dataSource"></property>

</bean>

<!-- 设置事务的传播特性,通知 -->

<tx:advice id="txAdvice" transaction-manager="txm">

<tx:attributes>

<tx:method name="save*" propagation="REQUIRED"/>

<tx:method name="update*" propagation="REQUIRED"/>

<tx:method name="delete*" propagation="REQUIRED"/>

<tx:method name="select*" propagation="REQUIRED"/>

</tx:attributes>

</tx:advice>

<!-- 设置切面 -->

<aop:config>

<aop:advisor advice-ref="txAdvice" pointcut="execution(* com.neuedu.model.service.*.*(..))"/>

</aop:config>

</beans>

1.4 SqlMapConfig.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE configuration

PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>

<typeAliases>

<package name="com.neuedu.model.po"/>

</typeAliases>

</configuration>

1.5 Mapper.xml

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE mapper

PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

"http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.neuedu.model.mapper.DemoMapper">

<select id="findUserById" parameterType="int" resultType="user">

select * from user where id = #{id}

</select>

</mapper>

上一篇下一篇

猜你喜欢

热点阅读